var OGVDecoderVideoTheora
(function() {
  var scriptSrc;
  if (typeof document !== 'undefined' && document.currentScript) scriptSrc = document.currentScript.src;
OGVDecoderVideoTheora = function(OGVDecoderVideoTheora) {
  OGVDecoderVideoTheora = OGVDecoderVideoTheora || {};
  if (!OGVDecoderVideoTheora.currentScriptUrl) OGVDecoderVideoTheora.currentScriptUrl = scriptSrc;
  var Module = OGVDecoderVideoTheora;

var options=Module;Module={print:(function(str){console.log(str)})};if(typeof OGVLoader!=="undefined"){Module["pthreadMainPrefixURL"]=OGVLoader.base+"/"}if(options["memoryLimit"]&&!options.wasmBinary){Module["TOTAL_MEMORY"]=options["memoryLimit"]}for(option in options){if(options.hasOwnProperty(option)){Module[option]=options[option]}}var Math_imul_orig=Math.imul;var OGVDecoderVideoTheora=Module;var Module;if(!Module)Module=(typeof OGVDecoderVideoTheora!=="undefined"?OGVDecoderVideoTheora:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else if(Module["ENVIRONMENT"]==="PTHREAD"){ENVIRONMENT_IS_WORKER=true;ENVIRONMENT_IS_PTHREAD=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+TOTAL_MEMORY+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||33554432;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+2608;__ATINIT__.push();allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,16,0,0,0,32,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,16,0,0,0,0,160,1,0,0,144,1,0,0,160,2,0,0,144,2,0,0,160,4,0,0,144,4,0,0,160,8,0,0,160,40,0,0,144,8,0,0,144,40,10,0,32,0,10,0,224,255,0,0,240,255,0,1,0,0,0,2,0,0,0,3,0,0,1,0,32,0,1,0,224,255,2,0,32,0,2,0,224,255,3,0,32,0,3,0,224,255,4,0,32,0,4,0,224,255,5,0,32,0,5,0,224,255,1,0,64,0,1,0,96,0,1,0,192,255,1,0,160,255,6,0,32,0,7,0,32,0,8,0,32,0,9,0,32,0,6,0,224,255,7,0,224,255,8,0,224,255,9,0,224,255,2,0,64,0,3,0,64,0,2,0,96,0,3,0,96,0,2,0,192,255,3,0,192,255,2,0,160,255,3,0,160,255,0,0,240,255,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,32,0,0,0,224,255,0,0,64,0,0,0,192,255,0,0,96,0,0,0,160,255,0,0,128,0,0,0,128,255,0,0,160,0,0,0,96,255,0,0,192,0,0,0,64,255,0,0,224,0,0,0,0,1,0,0,32,255,0,0,0,255,0,0,32,1,0,0,64,1,0,0,96,1,0,0,128,1,0,0,224,254,0,0,192,254,0,0,160,254,0,0,128,254,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,254,252,254,252,253,252,253,252,252,251,251,251,224,251,17,0,2,0,220,253,216,253,180,253,36,253,5,0,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,254,253,253,252,253,252,253,252,253,252,252,252,252,252,252,252,252,252,251,251,251,251,250,251,250,251,33,0,36,0,39,0,44,0,1,0,249,254,248,254,1,0,247,254,246,254,2,0,245,253,244,253,243,253,242,253,4,0,241,251,240,251,239,251,238,251,237,251,236,251,235,251,234,251,233,251,232,251,231,251,230,251,229,251,228,251,227,251,226,251,3,0,0,253,255,252,254,252,253,252,252,252,251,252,250,252,249,252,4,0,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,255,253,255,253,255,253,255,253,254,252,254,252,253,251,17,0,3,0,252,254,252,254,252,254,252,254,251,253,251,253,250,252,249,252,6,0,224,249,224,249,223,249,225,249,222,249,226,249,221,249,227,249,220,249,228,249,219,249,229,249,218,249,230,249,217,249,231,249,216,249,232,249,215,249,233,249,214,249,234,249,213,249,235,249,212,249,236,249,211,249,237,249,210,249,238,249,209,249,239,249,208,249,240,249,207,249,241,249,206,249,242,249,205,249,243,249,204,249,244,249,203,249,245,249,202,249,246,249,201,249,247,249,200,249,248,249,199,249,249,249,198,249,250,249,197,249,251,249,196,249,252,249,195,249,253,249,194,249,254,249,193,249,255,249,5,0,224,252,224,252,224,252,224,252,223,252,223,252,223,252,223,252,225,252,225,252,225,252,225,252,222,251,222,251,226,251,226,251,221,251,221,251,227,251,227,251,33,0,36,0,39,0,42,0,45,0,50,0,55,0,60,0,65,0,74,0,83,0,92,0,1,0,220,254,228,254,1,0,219,254,229,254,1,0,218,254,230,254,1,0,217,254,231,254,2,0,216,253,232,253,215,253,233,253,2,0,214,253,234,253,213,253,235,253,2,0,212,253,236,253,211,253,237,253,2,0,210,253,238,253,209,253,239,253,3,0,208,252,240,252,207,252,241,252,206,252,242,252,205,252,243,252,3,0,204,252,244,252,203,252,245,252,202,252,246,252,201,252,247,252,3,0,200,252,248,252,199,252,249,252,198,252,250,252,197,252,251,252,3,0,196,252,252,252,195,252,253,252,194,252,254,252,193,252,255,252,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,3,1,2,0,1,2,3,4,8,0,0,0,0,0,0,0,1,2,3,4,5,8,9,0,0,0,0,0,1,2,3,4,6,8,10,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,6,8,8,12,116,104,101,111,114,97,0,0,0,0,2,3,0,0,3,0,0,0,0,0,1,1,1,1,2,3,1,1,1,2,1,1,1,1,1,3,1,2,3,15,16,17,88,80,1,0,48,14,56,57,58,59,60,62,64,66,68,72,2,4,6,8,18,20,22,24,26,32,12,28,40,3,4,2,0,1,5,6,7,3,4,0,2,1,5,6,7,3,2,4,0,1,5,6,7,3,2,0,4,1,5,6,7,0,3,4,2,1,5,6,7,0,5,3,4,2,1,6,7,0,1,2,3,4,5,6,7,12,4,3,3,4,4,5,5,8,8,8,8,3,3,6,1,6,15,28,64,24,32,1,0,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,0,249,249,249,249,250,250,250,250,251,251,251,251,252,252,252,252,253,253,253,253,254,254,254,254,255,255,255,255,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_i64Add"]=_i64Add;Module["_memset"]=_memset;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _ogvjs_callback_frame(bufferY,strideY,bufferCb,strideCb,bufferCr,strideCr,width,height,chromaWidth,chromaHeight){var HEAPU8=Module.HEAPU8,format=Module.videoFormat,countBytesY=strideY*height,countBytesCb=strideCb*chromaHeight,countBytesCr=strideCr*chromaHeight;Module.frameBuffer={format:{width:width,height:height,chromaWidth:chromaWidth,chromaHeight:chromaHeight,cropLeft:format.cropLeft,cropTop:format.cropTop,cropWidth:format.cropWidth,cropHeight:format.cropHeight,displayWidth:format.displayWidth,displayHeight:format.displayHeight},y:{bytes:copyByteArray(HEAPU8.subarray(bufferY,bufferY+countBytesY)),stride:strideY},u:{bytes:copyByteArray(HEAPU8.subarray(bufferCb,bufferCb+countBytesCb)),stride:strideCb},v:{bytes:copyByteArray(HEAPU8.subarray(bufferCr,bufferCr+countBytesCr)),stride:strideCr}}}function _ogvjs_callback_init_video(frameWidth,frameHeight,chromaWidth,chromaHeight,fps,picWidth,picHeight,picX,picY,displayWidth,displayHeight){Module.videoFormat={width:frameWidth,height:frameHeight,chromaWidth:chromaWidth,chromaHeight:chromaHeight,cropLeft:picX,cropTop:picY,cropWidth:picWidth,cropHeight:picHeight,displayWidth:displayWidth,displayHeight:displayHeight,fps:fps};Module.loadedMetadata=true}DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_vii":invoke_vii,"invoke_viiii":invoke_viiii,"_ogvjs_callback_frame":_ogvjs_callback_frame,"___setErrNo":___setErrNo,"_abort":_abort,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_ogvjs_callback_init_video":_ogvjs_callback_init_video,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=global.Math.floor;var E=global.Math.abs;var F=global.Math.sqrt;var G=global.Math.pow;var H=global.Math.cos;var I=global.Math.sin;var J=global.Math.tan;var K=global.Math.acos;var L=global.Math.asin;var M=global.Math.atan;var N=global.Math.atan2;var O=global.Math.exp;var P=global.Math.log;var Q=global.Math.ceil;var R=global.Math.imul;var S=global.Math.min;var T=global.Math.max;var U=global.Math.clz32;var V=env.abort;var W=env.assert;var X=env.enlargeMemory;var Y=env.getTotalMemory;var Z=env.abortOnCannotGrowMemory;var _=env.invoke_vii;var $=env.invoke_viiii;var aa=env._ogvjs_callback_frame;var ba=env.___setErrNo;var ca=env._abort;var da=env._emscripten_memcpy_big;var ea=env._ogvjs_callback_init_video;var fa=0.0;
// EMSCRIPTEN_START_FUNCS
function ia(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function ja(){return l|0}function ka(a){a=a|0;l=a}function la(a,b){a=a|0;b=b|0;l=a;m=b}function ma(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function na(a){a=a|0;C=a}function oa(){return C|0}function pa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=b[c>>1]|0;e=b[c+2>>1]|0;f=b[c+4>>1]|0;g=b[c+6>>1]|0;c=((e&65535)<<24>>24)+((d&65535)<<24>>24)+((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;h=(e<<16>>16>>8)+(d<<16>>16>>8)+(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a>>1]=(c+2+(c>>31)|0)>>>2&255|(h+2+(h>>31)|0)>>>2<<8;return}function qa(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[c>>1]|0;e=b[c+4>>1]|0;f=((e&65535)<<24>>24)+((d&65535)<<24>>24)|0;g=(e<<16>>16>>8)+(d<<16>>16>>8)|0;b[a>>1]=(f+1+(f>>31)|0)>>>1&255|(g+1+(g>>31)|0)>>>1<<8;g=b[c+2>>1]|0;f=b[c+6>>1]|0;c=((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;d=(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a+2>>1]=(c+1+(c>>31)|0)>>>1&255|(d+1+(d>>31)|0)>>>1<<8;return}function ra(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[c>>1]|0;e=b[c+2>>1]|0;f=((e&65535)<<24>>24)+((d&65535)<<24>>24)|0;g=(e<<16>>16>>8)+(d<<16>>16>>8)|0;b[a>>1]=(f+1+(f>>31)|0)>>>1&255|(g+1+(g>>31)|0)>>>1<<8;g=b[c+4>>1]|0;f=b[c+6>>1]|0;c=((f&65535)<<24>>24)+((g&65535)<<24>>24)|0;d=(f<<16>>16>>8)+(g<<16>>16>>8)|0;b[a+4>>1]=(c+1+(c>>31)|0)>>>1&255|(d+1+(d>>31)|0)>>>1<<8;return}function sa(a,c){a=a|0;c=c|0;b[a>>1]=b[c>>1]|0;b[a+2>>1]=b[c+2>>1]|0;b[a+4>>1]=b[c+4>>1]|0;b[a+6>>1]=b[c+6>>1]|0;return}function ta(a){a=a|0;var b=0,c=0,d=0;if(!a){b=0;return b|0}else{c=a;d=0}while(1){c=c>>>1;a=d+1|0;if(!c){b=a;break}else d=a}return b|0}function ua(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function va(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+8|0;d=c[a>>2]|0;if((c[b>>2]|0)>0){e=d;f=0;while(1){Ab(c[e+(f<<2)>>2]|0);f=f+1|0;g=c[a>>2]|0;if((f|0)>=(c[b>>2]|0)){h=g;break}else e=g}}else h=d;Ab(h);Ab(c[a+4>>2]|0);Ab(c[a+12>>2]|0);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function wa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+4>>2]=b;c[a>>2]=b+d;return}function xa(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=a+8|0;f=a+12|0;g=c[f>>2]|0;if(!b){h=0;return h|0}i=c[e>>2]|0;if((g|0)<(b|0)){j=c[a>>2]|0;k=a+4|0;l=c[k>>2]|0;m=32-g|0;n=l>>>0<j>>>0;if(m>>>0>7&n){o=l;p=m;q=i;while(1){r=p+-8|0;s=o+1|0;t=(d[o>>0]|0)<<r|q;u=s>>>0<j>>>0;if(r>>>0>7&u){o=s;p=r;q=t}else{v=u;w=s;x=r;y=t;break}}}else{v=n;w=l;x=m;y=i}c[k>>2]=w;k=32-x|0;do if((k|0)<(b|0))if(v){z=k;A=(d[w>>0]|0)>>>(k&7)|y;break}else{c[a+16>>2]=1;z=1073741824;A=y;break}else{z=k;A=y}while(0);c[f>>2]=z;B=z;C=A}else{B=g;C=i}c[e>>2]=C<<1<<b+-1;c[f>>2]=B-b;h=C>>>(32-b|0);return h|0}function ya(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=a+8|0;e=c[b>>2]|0;f=a+12|0;g=c[f>>2]|0;if((g|0)>=1){h=g;i=e;j=i>>>31;k=h+-1|0;l=i<<1;c[b>>2]=l;c[f>>2]=k;return j|0}m=c[a>>2]|0;n=a+4|0;o=c[n>>2]|0;p=32-g|0;g=o>>>0<m>>>0;if(p>>>0>7&g){q=o;r=p;s=e;while(1){t=r+-8|0;u=q+1|0;v=(d[q>>0]|0)<<t|s;w=u>>>0<m>>>0;if(t>>>0>7&w){q=u;r=t;s=v}else{x=w;y=u;z=t;A=v;break}}}else{x=g;y=o;z=p;A=e}c[n>>2]=y;n=32-z|0;do if((n|0)<1)if(x){B=n;C=(d[y>>0]|0)>>>(n&7)|A;break}else{c[a+16>>2]=1;B=1073741824;C=A;break}else{B=n;C=A}while(0);c[f>>2]=B;h=B;i=C;j=i>>>31;k=h+-1|0;l=i<<1;c[b>>2]=l;c[f>>2]=k;return j|0}function za(a){a=a|0;var b=0;if(c[a+16>>2]|0){b=-1;return b|0}b=(c[a>>2]|0)-(c[a+4>>2]|0)+(c[a+12>>2]>>3)|0;return b|0}function Aa(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((a|0)==0|(b|0)==0){d=0;return d|0}f=Ga(57136,16)|0;do if(f|0?(Ha(f,a,3)|0)>=0:0){g=f+51656|0;if((Ia(g,b)|0)<0){Da(f);break}h=zb((c[f+180>>2]|0)*129|0)|0;c[f+53512>>2]=h;if(!h){Ca(g);Da(f);break}else i=0;do{c[f+880+(i*24|0)>>2]=f+2416+(i*768|0);c[f+880+(i*24|0)+4>>2]=f+2416+(i*768|0)+128;c[f+880+(i*24|0)+8>>2]=f+2416+(i*768|0)+256;c[f+880+(i*24|0)+12>>2]=f+2416+(i*768|0)+384;c[f+880+(i*24|0)+16>>2]=f+2416+(i*768|0)+512;c[f+880+(i*24|0)+20>>2]=f+2416+(i*768|0)+640;i=i+1|0}while((i|0)!=64);Ja(f+880|0,f+53528|0,b+320|0);g=0;do{h=c[f+880+(g*24|0)>>2]|0;j=c[f+880+(g*24|0)+8>>2]|0;k=c[f+880+(g*24|0)+16>>2]|0;l=c[f+880+(g*24|0)+4>>2]|0;m=c[f+880+(g*24|0)+12>>2]|0;n=c[f+880+(g*24|0)+20>>2]|0;c[f+53784+(g<<2)>>2]=0-((e[j+34>>1]|0)+(e[j+24>>1]|0)+(e[j+36>>1]|0)+(e[j+48>>1]|0)+(e[k+24>>1]|0)+(e[k+34>>1]|0)+(e[k+36>>1]|0)+(e[k+48>>1]|0)+(e[m+24>>1]|0)+(e[m+34>>1]|0)+((e[h+34>>1]|0)+(e[h+24>>1]|0)+(e[h+36>>1]|0)+(e[h+48>>1]|0)+(e[l+24>>1]|0)+(e[l+34>>1]|0)+(e[l+36>>1]|0)+(e[l+48>>1]|0)<<1)+(e[m+36>>1]|0)+(e[m+48>>1]|0)+(e[n+24>>1]|0)+(e[n+34>>1]|0)+(e[n+36>>1]|0)+(e[n+48>>1]|0)>>11);g=g+1|0}while((g|0)!=64);g=f+51568|0;n=b+576|0;m=g+64|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(m|0));c[f+53524>>2]=0;c[f+54040>>2]=0;c[f+54044>>2]=0;c[f+54048>>2]=0;c[f+54104>>2]=0;c[f+54108>>2]=0;n=f+856|0;c[n>>2]=0;c[n+4>>2]=0;d=f;return d|0}while(0);Ea(f);d=0;return d|0}function Ba(a){a=a|0;if(!a)return;Ab(c[a+54048>>2]|0);Ab(c[a+54044>>2]|0);Ab(c[a+54040>>2]|0);Ab(c[a+53512>>2]|0);Ca(a+51656|0);Da(a);Ea(a);return}function Ca(a){a=a|0;var b=0;b=0;do{Ab(c[a+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=80);return}function Da(a){a=a|0;Ab(c[a+172>>2]|0);Ea(c[a+572>>2]|0);Ab(c[a+216>>2]|0);Ab(c[a+200>>2]|0);Ab(c[a+196>>2]|0);Ab(c[a+188>>2]|0);Ab(c[a+184>>2]|0);Ab(c[a+176>>2]|0);Ab(c[a+168>>2]|0);return}function Ea(a){a=a|0;var b=0;if(!a)return;b=a+-1|0;Ab(b+(0-(d[b>>0]|0))|0);return}function Fa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=5;d=6;while(1){e=(b|0)/3|0;f=(b|0)%3|0;if((d|0)!=1){g=d+-2|0;h=(g|0)/3|0;i=(g|0)%3|0;g=a+320+(e*36|0)+(f*12|0)+4|0;if((c[g>>2]|0)==(c[a+320+(h*36|0)+(i*12|0)+4>>2]|0))c[g>>2]=0;g=a+320+(e*36|0)+(f*12|0)+8|0;if((c[g>>2]|0)==(c[a+320+(h*36|0)+(i*12|0)+8>>2]|0))c[g>>2]=0}if((b|0)>2){g=a+356+(f*12|0)+4|0;if((c[g>>2]|0)==(c[a+320+(f*12|0)+4>>2]|0))c[g>>2]=0;g=a+356+(f*12|0)+8|0;if((c[g>>2]|0)==(c[a+320+(f*12|0)+8>>2]|0))c[g>>2]=0}Ab(c[a+320+(e*36|0)+(f*12|0)+4>>2]|0);Ab(c[a+320+(e*36|0)+(f*12|0)+8>>2]|0);if((b|0)>0){f=b;b=b+-1|0;d=f}else break}return}function Ga(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=c+-1|0;if(b>>>0>~c>>>0|(d&(c|-256)|0)!=0){e=0;return e|0}f=zb(c+b|0)|0;b=f+-1&d;if(!f){e=0;return e|0}a[f+b>>0]=b;e=f+(b+1)|0;return e|0}function Ha(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,Cb=0,Db=0,Eb=0,Fb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0;if(!e){g=-1;return g|0}h=c[e+4>>2]|0;if(h&15|0){g=-10;return g|0}i=e+8|0;j=c[i>>2]|0;if((j+-1|0)>>>0>1048574|((h+-1|0)>>>0>1048574|(j&15|0)!=0)){g=-10;return g|0}k=c[e+20>>2]|0;if(((c[e+12>>2]|0)+k|0)>>>0>h>>>0){g=-10;return g|0}h=e+24|0;l=c[h>>2]|0;m=e+16|0;n=c[m>>2]|0;if(k>>>0>255|(n+l|0)>>>0>j>>>0){g=-10;return g|0}if((j-l-n|0)>>>0>255){g=-10;return g|0}if((c[e+44>>2]|0)>>>0>2){g=-10;return g|0}if((c[e+48>>2]|0)>>>0>3){g=-10;return g|0}if(!(c[e+28>>2]|0)){g=-10;return g|0}if(!(c[e+32>>2]|0)){g=-10;return g|0}Gb(b+64|0,0,51568)|0;n=b;l=e;j=n+64|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(j|0));k=b+24|0;c[k>>2]=(c[i>>2]|0)-(c[m>>2]|0)-(c[h>>2]|0);a[b+872>>0]=-1;c[b+68>>2]=0;c[b+64>>2]=1364;h=b+4|0;m=(c[h>>2]|0)>>>3;i=b+8|0;o=(c[i>>2]|0)>>>3;p=b+48|0;q=c[p>>2]|0;r=q&1^1;s=q>>>1&1^1;q=(r+m|0)>>>r;r=(s+o|0)>>>s;s=R(o,m)|0;t=R(r,q)|0;u=t<<1;v=u+s|0;w=(m+3|0)>>>2;x=(o+3|0)>>>2;y=(q+3|0)>>>2;z=(r+3|0)>>>2;A=R(x,w)|0;B=R(z,y)|0;C=B<<1;D=C+A|0;E=A<<2;do if((u|0)>=(t|0)?(A&1073741823|0)==(A|0)&((D>>>0<A>>>0|(C>>>0<B>>>0?1:((A>>>0)/(w>>>0)|0|0)!=(x|0)))^1):0){F=b+72|0;c[F>>2]=m;G=b+76|0;c[G>>2]=o;H=b+80|0;c[H>>2]=0;I=b+84|0;c[I>>2]=s;c[b+88>>2]=w;c[b+92>>2]=x;c[b+96>>2]=0;c[b+100>>2]=A;J=b+136|0;c[J>>2]=q;K=b+104|0;c[K>>2]=q;c[b+140>>2]=r;c[b+108>>2]=r;L=b+112|0;c[L>>2]=s;M=b+144|0;c[M>>2]=t+s;N=b+148|0;c[N>>2]=t;O=b+116|0;c[O>>2]=t;c[b+152>>2]=y;c[b+120>>2]=y;c[b+156>>2]=z;c[b+124>>2]=z;c[b+128>>2]=A;c[b+160>>2]=B+A;c[b+164>>2]=B;c[b+132>>2]=B;P=b+180|0;c[P>>2]=v;Q=Bb(v,4)|0;S=b+168|0;c[S>>2]=Q;T=zb(v<<1)|0;c[b+176>>2]=T;c[b+192>>2]=D;U=zb(D<<6)|0;V=b+184|0;c[V>>2]=U;W=Bb(D,1)|0;X=b+188|0;c[X>>2]=W;c[b+204>>2]=w<<1;c[b+208>>2]=x<<1;c[b+212>>2]=E;Y=Bb(E,48)|0;Z=b+196|0;c[Z>>2]=Y;_=Bb(E,1)|0;$=b+200|0;c[$>>2]=_;aa=zb(v<<2)|0;c[b+216>>2]=aa;if(!((Q|0)==0|(T|0)==0|(U|0)==0|(W|0)==0|(Y|0)==0)?!((_|0)==0|(aa|0)==0):0){aa=U;U=0;_=W;W=o;Y=0;T=0;while(1){Q=aa+(U<<6)|0;ba=_+U|0;ca=c[b+72+(T<<5)>>2]|0;da=ca<<2;ea=0;fa=0;ga=Y;while(1){ia=W-fa|0;if((ia|0)<=4)if((ia|0)<1)break;else ja=ia;else ja=4;ia=ea;ka=0;while(1){la=ca-ka|0;if((la|0)<=4)if((la|0)<1)break;else ma=la;else ma=4;n=Q+(ia<<6)|0;j=n+64|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));la=0;na=ka+ga|0;while(1){oa=0;do{c[Q+(ia<<6)+(c[40+(la<<5)+(oa<<3)>>2]<<4)+(c[40+(la<<5)+(oa<<3)+4>>2]<<2)>>2]=oa+na;oa=oa+1|0}while((oa|0)<(ma|0));la=la+1|0;if((la|0)>=(ja|0))break;else na=na+ca|0}na=ba+ia|0;la=a[na>>0]|0;oa=la&-61;pa=(((la&255)>>>2&255|(c[Q+(ia<<6)>>2]|0)>>>31^1)&255)<<2&60|oa;a[na>>0]=pa;la=(((pa&255)>>>2&255|(c[Q+(ia<<6)+16>>2]|0)>>>31<<1^2)&255)<<2&60|oa;a[na>>0]=la;pa=(((la&255)>>>2&255|(c[Q+(ia<<6)+32>>2]|0)>>>31<<2^4)&255)<<2&60|oa;a[na>>0]=pa;a[na>>0]=(((pa&255)>>>2&255|(c[Q+(ia<<6)+56>>2]|0)>>>31<<3^8)&255)<<2&60|oa;ia=ia+1|0;ka=ka+4|0}ea=ia;fa=fa+4|0;ga=ga+da|0}da=T+1|0;if((da|0)==3)break;aa=c[V>>2]|0;U=c[b+72+(da<<5)+24>>2]|0;_=c[X>>2]|0;W=c[b+72+(da<<5)+4>>2]|0;Y=c[b+72+(da<<5)+8>>2]|0;T=da}T=c[Z>>2]|0;Y=c[$>>2]|0;W=c[168+(c[p>>2]<<2)>>2]|0;X=c[G>>2]|0;if((X|0)>0){_=X;X=c[F>>2]|0;U=0;V=0;while(1){if((X|0)>0){aa=U;da=0;do{ga=aa<<2;fa=da|1;ea=da|2;Q=da|3;ba=0;do{ca=ba<<1|V;ka=ca|1;oa=d[1492+(ba<<1)>>0]|ga;pa=T+(oa*48|0)|0;n=pa;j=n+48|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));na=c[F>>2]|0;do if((da|0)<(na|0)){if((ca|0)>=(c[G>>2]|0)){qa=36;break}c[pa>>2]=(R(na,ca)|0)+da;c[T+(oa*48|0)+4>>2]=(R(c[F>>2]|0,ca)|0)+fa;c[T+(oa*48|0)+8>>2]=(R(c[F>>2]|0,ka)|0)+da;c[T+(oa*48|0)+12>>2]=(R(c[F>>2]|0,ka)|0)+fa;ha[W&7](pa,F,da,ca)}else qa=36;while(0);if((qa|0)==36){qa=0;a[Y+oa>>0]=-1}pa=d[1492+(ba<<1)+1>>0]|ga;na=T+(pa*48|0)|0;n=na;j=n+48|0;do{c[n>>2]=-1;n=n+4|0}while((n|0)<(j|0));oa=c[F>>2]|0;do if((ea|0)<(oa|0)){if((ca|0)>=(c[G>>2]|0)){qa=43;break}c[na>>2]=(R(oa,ca)|0)+ea;c[T+(pa*48|0)+4>>2]=(R(c[F>>2]|0,ca)|0)+Q;c[T+(pa*48|0)+8>>2]=(R(c[F>>2]|0,ka)|0)+ea;c[T+(pa*48|0)+12>>2]=(R(c[F>>2]|0,ka)|0)+Q;ha[W&7](na,F,ea,ca)}else qa=43;while(0);if((qa|0)==43){qa=0;a[Y+pa>>0]=-1}ba=ba+1|0}while((ba|0)!=2);da=da+4|0;aa=aa+1|0;ra=c[F>>2]|0}while((da|0)<(ra|0));sa=ra;ta=c[G>>2]|0;ua=aa}else{sa=X;ta=_;ua=U}V=V+4|0;if((V|0)>=(ta|0))break;else{_=ta;X=sa;U=ua}}}U=b+588|0;c[U>>2]=0;X=c[S>>2]|0;_=b+20|0;V=b+12|0;G=b+16|0;F=X;Y=0;W=X;while(1){X=c[_>>2]|0;T=(c[V>>2]|0)+X|0;$=c[k>>2]|0;Z=(c[G>>2]|0)+$|0;if((Y|0)>0){da=c[p>>2]|0;ba=da&1;ea=da&2;va=X>>(ba^1);wa=(ba|0)==0?T+1>>1:T;xa=$>>(ea>>>1^1);ya=(ea|0)==0?Z+1>>1:Z}else{va=X;wa=T;xa=$;ya=Z}W=W+(c[b+72+(Y<<5)+12>>2]<<2)|0;if(F>>>0<W>>>0){Z=b+72+(Y<<5)|0;$=(va|0)<(wa|0);T=(xa|0)<(ya|0);X=F;ea=0;while(1){ba=c[Z>>2]|0;da=X+(ba<<2)|0;Q=ea;ea=ea+8|0;do if((ba|0)>0){ga=(ea|0)>(xa|0);fa=(ya|0)>(Q|0);ia=(Q|0)<(xa|0)&ga;ca=fa&(ya|0)<(ea|0);na=X+4|0;ka=((da>>>0>na>>>0?da:na)+-1+(0-X)|0)>>>2;if(!(T&($&(fa&ga)))){ga=X;do{c[ga>>2]=c[ga>>2]|2;ga=ga+4|0}while(ga>>>0<da>>>0);za=na+(ka<<2)|0;break}ga=(Q|0)<(xa|0);pa=Q|1;fa=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|2;oa=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|3;la=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|4;Aa=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|5;Ba=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|6;Ca=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=Q|7;Da=(pa|0)>=(xa|0)&(pa|0)<(ya|0);pa=(Q|0)<(xa|0);Fa=Q|1;Ha=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|2;Ia=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|3;Ja=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|4;Ka=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|5;Ma=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|6;Na=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=Q|7;Oa=(Fa|0)>=(xa|0)&(Fa|0)<(ya|0);Fa=X;Pa=0;do{Qa=Pa;Pa=Pa+8|0;do if((wa|0)>(Qa|0)&(Pa|0)>(va|0)){Ra=(Qa|0)<(va|0);if(!(ca|(ia|(Ra|(wa|0)<(Pa|0))))){Sa=Fa;Ta=c[Fa>>2]|63488;break}Ua=Qa|1;Va=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|2;Wa=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|3;Xa=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|4;Ya=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|5;Za=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|6;_a=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=Qa|7;$a=(Ua|0)>=(va|0)&(Ua|0)<(wa|0);Ua=(Va&1)+((Ra^1)&1)+(Wa&1)+(Xa&1)+(Ya&1)+(Za&1)+(_a&1)+($a&1)|0;do if(Ra){if(ga){ab=0;bb=0;cb=0}else{db=Va?2:0;eb=Wa?4:0;fb=db|eb;eb=Xa?8:0;db=fb|eb;eb=Ya?16:0;fb=db|eb;eb=Za?32:0;db=fb|eb;eb=_a?64:0;ab=db|eb|($a?128:0);bb=$a?0:0;cb=Ua}if(fa){eb=Va?512:0;db=eb|ab;eb=Wa?1024:0;fb=db|eb;eb=Xa?2048:0;db=fb|eb;eb=Ya?4096:0;fb=db|eb;eb=Za?8192:0;db=fb|eb;eb=_a?16384:0;fb=db|eb;eb=$a?32768:0;gb=fb|eb;hb=bb;ib=Ua+cb|0}else{gb=ab;hb=bb;ib=cb}if(oa){eb=Va?131072:0;fb=eb|gb;eb=Wa?262144:0;db=fb|eb;eb=Xa?524288:0;fb=db|eb;eb=Ya?1048576:0;db=fb|eb;eb=Za?2097152:0;fb=db|eb;eb=_a?4194304:0;db=fb|eb;eb=$a?8388608:0;jb=db|eb;kb=hb;lb=Ua+ib|0}else{jb=gb;kb=hb;lb=ib}if(la){eb=Va?33554432:0;db=eb|jb;eb=Wa?67108864:0;fb=db|eb;eb=Xa?134217728:0;db=fb|eb;eb=Ya?268435456:0;fb=db|eb;eb=Za?536870912:0;db=fb|eb;eb=_a?1073741824:0;fb=db|eb;eb=$a?-2147483648:0;mb=kb;nb=fb|eb;ob=Ua+lb|0}else{mb=kb;nb=jb;ob=lb}if(Aa){eb=(Va?2:0)|mb;fb=eb|(Wa?4:0);eb=fb|(Xa?8:0);fb=eb|(Ya?16:0);eb=fb|(Za?32:0);fb=eb|(_a?64:0);pb=fb|($a?128:0);qb=nb;rb=Ua+ob|0}else{pb=mb;qb=nb;rb=ob}if(Ba){fb=(Va?512:0)|pb;eb=fb|(Wa?1024:0);fb=eb|(Xa?2048:0);eb=fb|(Ya?4096:0);fb=eb|(Za?8192:0);eb=fb|(_a?16384:0);sb=eb|($a?32768:0);tb=qb;ub=Ua+rb|0}else{sb=pb;tb=qb;ub=rb}if(Ca){eb=(Va?131072:0)|sb;fb=eb|(Wa?262144:0);eb=fb|(Xa?524288:0);fb=eb|(Ya?1048576:0);eb=fb|(Za?2097152:0);fb=eb|(_a?4194304:0);vb=fb|($a?8388608:0);wb=tb;xb=Ua+ub|0}else{vb=sb;wb=tb;xb=ub}if(!Da){yb=wb;Cb=vb;Db=xb;break}fb=(Va?33554432:0)|vb;eb=fb|(Wa?67108864:0);fb=eb|(Xa?134217728:0);eb=fb|(Ya?268435456:0);fb=eb|(Za?536870912:0);eb=fb|(_a?1073741824:0);yb=wb;Cb=eb|($a?-2147483648:0);Db=Ua+xb|0}else{if(pa){Eb=0;Fb=0;Hb=0}else{eb=Va?3:1;fb=Wa?4:0;db=eb|fb;fb=Xa?8:0;eb=db|fb;fb=Ya?16:0;db=eb|fb;fb=Za?32:0;eb=db|fb;fb=_a?64:0;Eb=eb|fb|($a?128:0);Fb=$a?0:0;Hb=Ua}if(Ha){fb=Va?512:0;eb=Eb|fb;fb=Wa?1024:0;db=eb|fb;fb=Xa?2048:0;eb=db|fb;fb=Ya?4096:0;db=eb|fb;fb=Za?8192:0;eb=db|fb;fb=_a?16384:0;db=eb|fb;fb=$a?32768:0;Ib=db|fb|256;Jb=Fb;Kb=Ua+Hb|0}else{Ib=Eb;Jb=Fb;Kb=Hb}if(Ia){fb=Va?131072:0;db=Ib|fb;fb=Wa?262144:0;eb=db|fb;fb=Xa?524288:0;db=eb|fb;fb=Ya?1048576:0;eb=db|fb;fb=Za?2097152:0;db=eb|fb;fb=_a?4194304:0;eb=db|fb;fb=$a?8388608:0;Lb=eb|fb|65536;Mb=Jb;Nb=Ua+Kb|0}else{Lb=Ib;Mb=Jb;Nb=Kb}if(Ja){fb=Va?33554432:0;eb=Lb|fb;fb=Wa?67108864:0;db=eb|fb;fb=Xa?134217728:0;eb=db|fb;fb=Ya?268435456:0;db=eb|fb;fb=Za?536870912:0;eb=db|fb;fb=_a?1073741824:0;db=eb|fb;fb=$a?-2147483648:0;Ob=Mb;Pb=db|fb|16777216;Qb=Ua+Nb|0}else{Ob=Mb;Pb=Lb;Qb=Nb}if(Ka){fb=Ob|(Va?2:0);db=fb|(Wa?4:0);fb=db|(Xa?8:0);db=fb|(Ya?16:0);fb=db|(Za?32:0);db=fb|(_a?64:0);Rb=db|($a?128:0)|1;Sb=Pb;Tb=Ua+Qb|0}else{Rb=Ob;Sb=Pb;Tb=Qb}if(Ma){db=Rb|(Va?512:0);fb=db|(Wa?1024:0);db=fb|(Xa?2048:0);fb=db|(Ya?4096:0);db=fb|(Za?8192:0);fb=db|(_a?16384:0);Ub=fb|($a?32768:0)|256;Vb=Sb;Wb=Ua+Tb|0}else{Ub=Rb;Vb=Sb;Wb=Tb}if(Na){fb=Ub|(Va?131072:0);db=fb|(Wa?262144:0);fb=db|(Xa?524288:0);db=fb|(Ya?1048576:0);fb=db|(Za?2097152:0);db=fb|(_a?4194304:0);Xb=db|($a?8388608:0)|65536;Yb=Vb;Zb=Ua+Wb|0}else{Xb=Ub;Yb=Vb;Zb=Wb}if(!Oa){yb=Yb;Cb=Xb;Db=Zb;break}db=Xb|(Va?33554432:0);fb=db|(Wa?67108864:0);db=fb|(Xa?134217728:0);fb=db|(Ya?268435456:0);db=fb|(Za?536870912:0);fb=db|(_a?1073741824:0);yb=Yb;Cb=fb|($a?-2147483648:0)|16777216;Db=Ua+Zb|0}while(0);Ua=c[U>>2]|0;a:do if((Ua|0)>0){$a=0;while(1){_a=b+592+($a<<4)|0;if((c[_a>>2]|0)==(yb|0)?(c[_a+4>>2]|0)==(Cb|0):0){_b=$a;break a}_a=$a+1|0;if((_a|0)<(Ua|0))$a=_a;else{$b=_a;qa=63;break}}}else{$b=0;qa=63}while(0);if((qa|0)==63){qa=0;c[U>>2]=Ua+1;$a=b+592+($b<<4)|0;c[$a>>2]=yb;c[$a+4>>2]=Cb;c[b+592+($b<<4)+8>>2]=Db;_b=$b}Sa=Fa;Ta=c[Fa>>2]&-63489|_b<<11&63488}else{Sa=Fa;Ta=c[Fa>>2]|2}while(0);c[Sa>>2]=Ta;Fa=Fa+4|0}while(Fa>>>0<da>>>0);za=na+(ka<<2)|0}else za=X;while(0);if(za>>>0>=W>>>0){ac=za;break}else X=za}}else ac=F;Y=Y+1|0;if((Y|0)==3)break;else F=ac}if((f+-3|0)>>>0<=3){F=c[p>>2]|0;Y=F&1^1;W=F>>>1&1^1;F=c[h>>2]|0;U=F+32|0;G=(c[i>>2]|0)+32|0;V=(U>>Y)+15&-16;_=R(G,U)|0;S=R(V,G>>W)|0;X=(U<<4)+16|0;$=16>>>Y;T=R(V,16>>>W)|0|$;ea=0-$&8;$=S<<1;Z=_+16+$|0;aa=R(Z,f)|0;if(!(Z>>>0<_>>>0|(($|16)>>>0<S>>>0?1:((_>>>0)/(U>>>0)|0|0)!=(G|0)))?((aa>>>0)/(f>>>0)|0|0)==(Z|0):0){Z=Ga(aa,16)|0;aa=zb(c[P>>2]<<2)|0;c[b+172>>2]=aa;if((Z|0)==0|(aa|0)==0){Ab(aa);Ea(Z);bc=-1;break}G=c[h>>2]|0;$=b+236|0;c[$>>2]=G;da=c[i>>2]|0;c[b+240>>2]=da;Q=b+244|0;c[Q>>2]=U;U=G>>>Y;c[b+268>>2]=U;c[b+252>>2]=U;U=da>>>W;c[b+272>>2]=U;c[b+256>>2]=U;U=b+276|0;c[U>>2]=V;W=b+260|0;c[W>>2]=V;da=1;do{n=b+236+(da*48|0)|0;l=$;j=n+48|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(j|0));da=da+1|0}while((da|0)!=(f|0));c[b+572>>2]=Z;if((f|0)>0){da=_+ea|0;$=16-ea+S|0;P=Z;Y=0;while(1){G=b+236+(Y*48|0)|0;c[b+236+(Y*48|0)+12>>2]=P+X;ba=P+da|0;c[b+236+(Y*48|0)+28>>2]=ba+T;Fa=ba+S|0;c[b+236+(Y*48|0)+44>>2]=Fa+T;La(G,G);Y=Y+1|0;if((Y|0)==(f|0))break;else P=Fa+$|0}}c[b+576>>2]=-32-F;$=0-V|0;c[b+584>>2]=$;c[b+580>>2]=$;$=c[b+248>>2]|0;P=(c[I>>2]|0)+(c[H>>2]|0)|0;Y=c[b+72>>2]|0;if((P|0)>0){T=c[Q>>2]<<3;if((Y|0)<=0)while(1){}Q=0;H=$;while(1){I=Q+Y|0;V=Q;F=H;while(1){c[aa+(V<<2)>>2]=F-$;V=V+1|0;if((V|0)>=(I|0))break;else F=F+8|0}if((V|0)<(P|0)){Q=V;H=H+T|0}else{cc=V;break}}}else cc=0;T=(c[O>>2]|0)+(c[L>>2]|0)|0;H=c[K>>2]|0;if((cc|0)<(T|0)){Q=c[W>>2]<<3;if((H|0)<=0)while(1){}W=cc;K=c[b+264>>2]|0;while(1){L=W+H|0;O=W;P=K;while(1){c[aa+(O<<2)>>2]=P-$;O=O+1|0;if((O|0)>=(L|0))break;else P=P+8|0}if((O|0)<(T|0)){W=O;K=K+Q|0}else{dc=O;break}}}else dc=cc;Q=(c[N>>2]|0)+(c[M>>2]|0)|0;K=c[J>>2]|0;if((dc|0)<(Q|0)){W=c[U>>2]<<3;if((K|0)<=0)while(1){}U=dc;J=c[b+280>>2]|0;while(1){M=U+K|0;N=U;T=J;while(1){c[aa+(N<<2)>>2]=T-$;N=N+1|0;if((N|0)>=(M|0))break;else T=T+8|0}if((N|0)<(Q|0)){U=N;J=J+W|0}else break}}W=b+524|0;c[W>>2]=-1;c[W+4>>2]=-1;c[W+8>>2]=-1;c[W+12>>2]=-1;c[W+16>>2]=-1;c[W+20>>2]=-1;W=b+548|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;c[W+12>>2]=0;c[W+16>>2]=0;c[W+20>>2]=0;if((c[e+60>>2]|0)>>>0>31)c[b+60>>2]=31;W=b+848|0;c[W>>2]=0;c[W+4>>2]=0;W=b+856|0;c[W>>2]=-1;c[W+4>>2]=-1;W=a[e>>0]|0;do if((W&255)>3)ec=1;else{if(W<<24>>24!=3){ec=0;break}J=a[e+1>>0]|0;if((J&255)>2){ec=1;break}if(J<<24>>24!=2){ec=0;break}ec=(a[e+2>>0]|0)!=0&1}while(0);a[b+873>>0]=ec;g=0;return g|0}else bc=-23}else bc=-10}else bc=-1}else bc=-23;while(0);Ab(c[b+216>>2]|0);Ab(c[b+200>>2]|0);Ab(c[b+196>>2]|0);Ab(c[b+188>>2]|0);Ab(c[b+184>>2]|0);Ab(c[b+176>>2]|0);Ab(c[b+168>>2]|0);g=bc;return g|0}function Ia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0;while(1){e=b+(d<<2)|0;f=(Ka(c[e>>2]|0,0)|0)<<1;g=zb(f)|0;c[a+(d<<2)>>2]=g;if(!g)break;Hb(g|0,c[e>>2]|0,f|0)|0;f=d+1|0;if((f|0)<80)d=f;else{h=0;i=6;break}}if((i|0)==6)return h|0;if((d|0)>0)j=d;else{h=-1;return h|0}do{d=j;j=j+-1|0;Ab(c[a+(j<<2)>>2]|0)}while((d|0)>1);h=-1;return h|0}function Ja(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=l;l=l+64|0;j=i;k=(g|0)==0;m=0;while(1){n=24+(m<<2)|0;o=32+(m<<2)|0;p=0;while(1){q=h+320+(m*36|0)+(p*12|0)|0;r=c[q>>2]|0;if((r|0)>=0){s=h+320+(m*36|0)+(p*12|0)+8|0;t=h+320+(m*36|0)+(p*12|0)+4|0;u=c[n>>2]|0;v=c[o>>2]|0;w=r;r=0;x=0;while(1){y=j;z=(c[s>>2]|0)+(x<<6)|0;A=y+64|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));if((x|0)==(w|0))B=r+1|0;else B=(c[(c[t>>2]|0)+(x<<2)>>2]|0)+r|0;z=x+1|0;y=r;a:while(1){A=R(d[j>>0]|0,e[h+(y<<1)>>1]|0)|0;if(!k)c[g+(y<<2)>>2]=(A>>>0)/160|0;C=A>>>0>102499?4096:((A>>>0)/100|0)<<2;A=f+(y*24|0)+(p<<3)+(m<<2)|0;D=c[A>>2]|0;b[D>>1]=u-(u>>>0<C>>>0?u-C|0:0);C=h+128+(y<<1)|0;E=1;do{F=R(d[j+(d[1364+E>>0]|0)>>0]|0,e[C>>1]|0)|0;G=F>>>0>102499?4096:((F>>>0)/100|0)<<2;b[D+(E<<1)>>1]=v-(v>>>0<G>>>0?v-G|0:0);E=E+1|0}while((E|0)!=64);H=0;b:while(1){E=(H|0)<(m|0);C=E?3:p;if((C|0)>0){G=0;do{I=c[f+(y*24|0)+(G<<3)+(H<<2)>>2]|0;if(!(yb(D,I,128)|0)){J=17;break b}G=G+1|0}while((G|0)<(C|0))}if(E)H=H+1|0;else break}if((J|0)==17){J=0;c[A>>2]=I}K=y+1|0;if((B|0)<=(K|0))break;D=B-K|0;C=c[s>>2]|0;G=K-r|0;F=c[(c[t>>2]|0)+(x<<2)>>2]|0;L=F<<1;M=0;while(1){N=R(d[C+(x<<6)+M>>0]|0,D)|0;a[j+M>>0]=(((R(d[C+(z<<6)+M>>0]|0,G)|0)+N<<1)+F|0)/(L|0)|0;N=M+1|0;if((N|0)==64){y=K;continue a}else M=N}}y=c[q>>2]|0;if((x|0)<(y|0)){w=y;r=K;x=z}else break}}p=p+1|0;if((p|0)==3)break}m=m+1|0;if((m|0)==2)break}l=i;return}function Ka(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b[a+(c<<1)>>1]|0;e=1<<d;f=c+1|0;c=0;g=e+1|0;while(1){h=b[a+(f+c<<1)>>1]|0;i=h<<16>>16;if(h<<16>>16<1){j=1<<d-(0-i>>8);k=g}else{j=1;k=(Ka(a,i)|0)+g|0}c=j+c|0;if((c|0)>=(e|0))break;else g=k}return k|0}function La(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=c[b>>2];d=c[b+4>>2]|0;c[a+4>>2]=d;e=0-(c[b+8>>2]|0)|0;c[a+8>>2]=e;c[a+12>>2]=(c[b+12>>2]|0)+(R(1-d|0,e)|0);c[a+16>>2]=c[b+16>>2];e=c[b+20>>2]|0;c[a+20>>2]=e;d=0-(c[b+24>>2]|0)|0;c[a+24>>2]=d;c[a+28>>2]=(c[b+28>>2]|0)+(R(1-e|0,d)|0);c[a+32>>2]=c[b+32>>2];d=c[b+36>>2]|0;c[a+36>>2]=d;e=0-(c[b+40>>2]|0)|0;c[a+40>>2]=e;c[a+44>>2]=(c[b+44>>2]|0)+(R(1-d|0,e)|0);return}function Ma(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(R(c[b+32>>2]|0,e>>1)|0)+(d>>1)|0;c[a+16>>2]=f+(c[b+40>>2]|0);c[a+32>>2]=(c[b+72>>2]|0)+f;return}function Na(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(R(c[b+32>>2]|0,e>>1)|0)+d|0;d=b+40|0;e=b+72|0;c[a+16>>2]=(c[d>>2]|0)+f;c[a+32>>2]=(c[e>>2]|0)+f;b=f+1|0;c[a+20>>2]=(c[d>>2]|0)+b;c[a+36>>2]=(c[e>>2]|0)+b;return}function Oa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+32|0;g=(R(c[f>>2]|0,e)|0)+(d>>1)|0;d=b+40|0;e=b+72|0;c[a+16>>2]=(c[d>>2]|0)+g;c[a+32>>2]=(c[e>>2]|0)+g;b=(c[f>>2]|0)+g|0;c[a+24>>2]=(c[d>>2]|0)+b;c[a+40>>2]=(c[e>>2]|0)+b;return}function Pa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=b+40|0;d=b+72|0;b=c[a>>2]|0;c[a+16>>2]=(c[e>>2]|0)+b;c[a+32>>2]=(c[d>>2]|0)+b;b=c[a+4>>2]|0;c[a+20>>2]=(c[e>>2]|0)+b;c[a+36>>2]=(c[d>>2]|0)+b;b=c[a+8>>2]|0;c[a+24>>2]=(c[e>>2]|0)+b;c[a+40>>2]=(c[d>>2]|0)+b;b=c[a+12>>2]|0;c[a+28>>2]=(c[e>>2]|0)+b;c[a+44>>2]=(c[d>>2]|0)+b;return}function Qa(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=l;l=l+32|0;i=h+20|0;j=h;if(!g){k=-20;l=h;return k|0}if(!b){k=-1;l=h;return k|0}wa(j,c[g>>2]|0,c[g+4>>2]|0);m=xa(j,8)|0;if((((m&128|0)==0?(c[b+4>>2]|0)!=0:0)?(c[e+12>>2]|0)!=0:0)?(c[f>>2]|0)!=0:0)n=0;else o=7;a:do if((o|0)==7){a[i>>0]=xa(j,8)|0;a[i+1>>0]=xa(j,8)|0;a[i+2>>0]=xa(j,8)|0;a[i+3>>0]=xa(j,8)|0;a[i+4>>0]=xa(j,8)|0;a[i+5>>0]=xa(j,8)|0;if(!(yb(i,1548,6)|0))switch(m|0){case 128:{if(!(c[g+8>>2]|0)){n=-20;break a}p=b+4|0;if(c[p>>2]|0){n=-20;break a}a[b>>0]=xa(j,8)|0;q=b+1|0;a[q>>0]=xa(j,8)|0;a[b+2>>0]=xa(j,8)|0;r=a[b>>0]|0;do if((r&255)<=3){if(r<<24>>24==3?(d[q>>0]|0)>2:0){s=-22;break}c[p>>2]=(xa(j,16)|0)<<4;t=b+8|0;c[t>>2]=(xa(j,16)|0)<<4;u=b+12|0;c[u>>2]=xa(j,24)|0;v=b+16|0;c[v>>2]=xa(j,24)|0;w=b+20|0;c[w>>2]=xa(j,8)|0;x=b+24|0;c[x>>2]=xa(j,8)|0;y=b+28|0;c[y>>2]=xa(j,32)|0;z=xa(j,32)|0;c[b+32>>2]=z;A=c[p>>2]|0;if(((((((A|0)!=0?(B=c[t>>2]|0,(B|0)!=0):0)?((c[w>>2]|0)+(c[u>>2]|0)|0)>>>0<=A>>>0:0)?(A=c[v>>2]|0,v=c[x>>2]|0,(v+A|0)>>>0<=B>>>0):0)?!((z|0)==0|(c[y>>2]|0)==0):0)?(c[x>>2]=B-A-v,c[b+36>>2]=xa(j,24)|0,c[b+40>>2]=xa(j,24)|0,c[b+44>>2]=xa(j,8)|0,c[b+52>>2]=xa(j,24)|0,c[b+56>>2]=xa(j,6)|0,c[b+60>>2]=xa(j,5)|0,v=xa(j,2)|0,c[b+48>>2]=v,(v|0)!=1):0)?(xa(j,3)|0)==0:0){v=(za(j)|0)>>31&-20;if((v|0)<0)s=v;else{n=3;break a}}else s=-20}else s=-22;while(0);Ra(b);n=s;break a;break}case 129:{if(!e){n=-1;break a}if(!(c[b+4>>2]|0)){n=-20;break a}p=e+12|0;if(c[p>>2]|0){n=-20;break a}q=xa(j,8)|0;r=xa(j,8)|0;v=r<<8|q|(xa(j,8)|0)<<16|(xa(j,8)|0)<<24;b:do if((v|0)>=0?(v|0)<=(za(j)|0):0){q=zb(v+1|0)|0;c[p>>2]=q;if(!q)C=-1;else{if(!v)D=q;else{r=q;q=v;while(1){q=q+-1|0;a[r>>0]=xa(j,8)|0;if(!q)break;else r=r+1|0}D=c[p>>2]|0}a[D+v>>0]=0;r=xa(j,8)|0;q=xa(j,8)|0;A=xa(j,8)|0;B=q<<8|r|A<<16|(xa(j,8)|0)<<24;A=e+8|0;c[A>>2]=B;if(B>>>0<=536870911?(B<<2|0)<=(za(j)|0):0){B=c[A>>2]|0;r=B<<2;q=zb(r)|0;x=e+4|0;c[x>>2]=q;y=zb(r)|0;c[e>>2]=y;if((q|0)==0|(y|0)==0){c[A>>2]=0;C=-1;break}c:do if((B|0)>0){y=0;while(1){q=xa(j,8)|0;r=xa(j,8)|0;z=xa(j,8)|0;u=r<<8|q|z<<16|(xa(j,8)|0)<<24;if((u|0)<0){o=40;break}if((u|0)>(za(j)|0)){o=40;break}c[(c[x>>2]|0)+(y<<2)>>2]=u;z=zb(u+1|0)|0;c[(c[e>>2]|0)+(y<<2)>>2]=z;z=c[(c[e>>2]|0)+(y<<2)>>2]|0;if(!z){o=42;break}if(!u)E=z;else{q=z;z=u;while(1){z=z+-1|0;a[q>>0]=xa(j,8)|0;if(!z)break;else q=q+1|0}E=c[(c[e>>2]|0)+(y<<2)>>2]|0}a[E+u>>0]=0;q=y+1|0;if((q|0)<(c[A>>2]|0))y=q;else break c}if((o|0)==40){c[A>>2]=y;C=-20;break b}else if((o|0)==42){c[A>>2]=y;C=-1;break b}}while(0);x=(za(j)|0)>>31&-20;if((x|0)<0){C=x;break}else{n=2;break a}}c[A>>2]=0;C=-20}}else C=-20;while(0);va(e);n=C;break a;break}case 130:{if((e|0)==0|(f|0)==0){n=-1;break a}if(!(c[b+4>>2]|0)){n=-20;break a}if(!(c[e+12>>2]|0)){n=-20;break a}if(c[f>>2]|0){n=-20;break a}v=Bb(1,712)|0;if(!v){n=-1;break a}p=v+320|0;x=Sa(j,p)|0;if((x|0)>=0){B=Ta(j,v)|0;if((B|0)<0)F=B;else{c[f>>2]=v;n=1;break a}}else F=x;Fa(p);Ca(v);Ab(v);n=F;break a;break}default:{n=-20;break a}}else n=-21}while(0);k=n;l=h;return k|0}function Ra(a){a=a|0;var b=0;b=a;a=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Sa(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=l;l=l+512|0;g=f+256|0;h=f;i=xa(d,3)|0;j=0;do{a[e+256+j>>0]=xa(d,i)|0;j=j+1|0}while((j|0)!=64);j=(xa(d,4)|0)+1|0;i=0;do{b[e+128+(i<<1)>>1]=xa(d,j)|0;i=i+1|0}while((i|0)!=64);i=(xa(d,4)|0)+1|0;j=0;do{b[e+(j<<1)>>1]=xa(d,i)|0;j=j+1|0}while((j|0)!=64);j=xa(d,9)|0;i=zb((j<<6)+64|0)|0;if(!i){k=-1;l=f;return k|0}if((j|0)>=0){m=0;while(1){n=0;do{a[i+(m<<6)+n>>0]=xa(d,8)|0;n=n+1|0}while((n|0)!=64);if((m|0)==(j|0))break;else m=m+1|0}}m=ta(j)|0;n=0;a:while(1){o=(n|0)/3|0;p=(n|0)%3|0;q=e+320+(o*36|0)+(p*12|0)|0;if((n|0)>0?(ya(d)|0)==0:0){do if((n|0)>2)if(!(ya(d)|0)){r=n+-1|0;s=(r|0)%3|0;t=(r|0)/3|0;break}else{s=p;t=o+-1|0;break}else{r=n+-1|0;s=(r|0)%3|0;t=(r|0)/3|0}while(0);r=e+320+(t*36|0)+(s*12|0)|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2]}else u=21;b:do if((u|0)==21){u=0;c[h>>2]=xa(d,m)|0;r=0;v=0;do{w=(xa(d,ta(62-v|0)|0)|0)+1|0;c[g+(r<<2)>>2]=w;v=w+v|0;x=xa(d,m)|0;r=r+1|0;c[h+(r<<2)>>2]=x}while((v|0)<63);if((v|0)!=63){u=24;break a}c[q>>2]=r;w=r<<2;y=zb(w)|0;c[e+320+(o*36|0)+(p*12|0)+4>>2]=y;if(!y){u=26;break a}Hb(y|0,g|0,w|0)|0;w=zb((r<<6)+64|0)|0;if(!w){u=28;break a}c[e+320+(o*36|0)+(p*12|0)+8>>2]=w;if((x|0)>(j|0)){u=30;break a}else{z=x;A=r}while(1){y=w+(A<<6)|0;B=i+(z<<6)|0;C=y+64|0;do{a[y>>0]=a[B>>0]|0;y=y+1|0;B=B+1|0}while((y|0)<(C|0));if((A|0)<=0)break b;A=A+-1|0;z=c[h+(A<<2)>>2]|0;if((z|0)>(j|0)){u=30;break a}}}while(0);n=n+1|0;if((n|0)>=6){u=34;break}}if((u|0)==24){Ab(i);k=-20;l=f;return k|0}else if((u|0)==26){Ab(i);k=-1;l=f;return k|0}else if((u|0)==28){Ab(i);k=-1;l=f;return k|0}else if((u|0)==30){Ab(i);k=-20;l=f;return k|0}else if((u|0)==34){Ab(i);k=0;l=f;return k|0}return 0}function Ta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;d=l;l=l+512|0;e=d;f=0;while(1){g=Ua(a,e)|0;if((g|0)<0){h=g;break}i=Va(0,e,g)|0;if(i>>>0>32767){h=-23;break}j=zb(i<<1)|0;if(!j){h=-1;break}Va(j,e,g)|0;c[b+(f<<2)>>2]=j;f=f+1|0;if((f|0)>=80){k=0;m=7;break}}if((m|0)==7){l=d;return k|0}k=h;l=d;return k|0}function Ua(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=0;f=0;g=0;h=0;a:while(1){i=f;while(1){j=ya(b)|0;if((za(b)|0)<0){k=-20;l=12;break a}if(j|0)break;if((i|0)>31){k=-20;l=12;break a}else i=i+1|0}if((g|0)>31){k=-20;l=12;break}g=g+1|0;j=xa(b,5)|0;m=d[1555+j>>0]|0;n=m+i&255;o=1<<m;m=h;p=d[1587+j>>0]|0;while(1){a[c+(m<<1)>>0]=p;a[c+(m<<1)+1>>0]=n;m=m+1|0;if((o|0)<=1)break;else{o=o+-1|0;p=p+1|0}}p=-2147483648>>>(i+-1|0);if((i|0)<1|(p&e|0)==0){q=e;r=p;s=i}else{o=e;n=p;p=i;while(1){j=n^o;t=n<<1;u=p+-1|0;if((p|0)<2|(t&j|0)==0){q=j;r=t;s=u;break}else{o=j;n=t;p=u}}}if((s|0)<1){k=m;l=12;break}else{e=r|q;f=s;h=m}}if((l|0)==12)return k|0;return 0}function Va(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0;g=l;l=l+144|0;h=g;i=g+102|0;j=g+68|0;a[i>>0]=0;k=f+255&255;a[j>>0]=k;f=(c|0)!=0;m=k;k=0;n=0;o=0;p=0;while(1){q=e+(p<<1)|0;r=1-p+(m&255)|0;s=k&255;t=k<<24>>24?2:7;a:do if((r|0)>0){u=0;v=1;w=1;x=2;while(1){y=w;z=w+1|0;A=z+s|0;B=0;C=0;D=0;while(1){E=q+(D<<1)|0;F=d[q+(D<<1)+1>>0]|0;if((F|0)>=(A|0))if((F|0)==(A|0)){G=1;H=1}else{G=Wa(E,A)|0;H=B}else{G=1;H=B}D=G+D|0;I=C+1|0;if((D|0)>=(r|0))break;else{B=H;C=I}}B=(v|0)==0?u:y;if((C|0)<(x|0)){J=B;break a}if((R(I,t)|0)<(1<<z|0)){J=B;break}else{u=B;v=H;w=z;x=I}}}else J=1;while(0);t=o&65535;r=h+(n<<1)|0;b[r>>1]=t;K=o+1+(1<<J)|0;b:do if(f){b[r>>1]=t+1<<16>>16;b[c+(o<<16>>16<<1)>>1]=J;q=m;s=k;x=n;w=J;v=p;while(1){u=q&255;if((v|0)>(u|0))L=v;else{B=s&255;D=B+w|0;A=h+(x<<1)|0;E=v;while(1){F=d[e+(E<<1)+1>>0]|0;if((D|0)<(F|0)){M=D;N=x;O=E;P=26;break b}Q=D-F|0;S=0-(d[e+(E<<1)>>0]|0|F-B<<8)&65535;if((Q|0)!=31){F=b[A>>1]|0;T=1<<Q;while(1){Q=F;F=F+1<<16>>16;b[c+(Q<<16>>16<<1)>>1]=S;if((T|0)<=1)break;else T=T+-1|0}b[A>>1]=F}T=E+1|0;if((E|0)<(u|0))E=T;else{L=T;break}}}E=x+-1|0;if((x|0)<=0){U=E;V=L;break b}u=a[i+E>>0]|0;A=(s&255)-(u&255)|0;q=a[j+E>>0]|0;s=u;x=E;w=A;v=L}}else{v=m;w=k;x=n;s=J;q=p;while(1){A=v&255;if((q|0)>(A|0))W=q;else{E=(w&255)+s|0;u=q;while(1){if((E|0)<(d[e+(u<<1)+1>>0]|0|0)){M=E;N=x;O=u;P=26;break b}B=u+1|0;if((u|0)<(A|0))u=B;else{W=B;break}}}u=x+-1|0;if((x|0)<=0){U=u;V=W;break b}A=a[i+u>>0]|0;E=(w&255)-(A&255)|0;v=a[j+u>>0]|0;w=A;x=u;s=E;q=W}}while(0);if((P|0)==26){P=0;t=N+1|0;a[i+t>>0]=M;if(f){r=h+(N<<1)|0;q=b[r>>1]|0;b[r>>1]=q+1<<16>>16;b[c+(q<<16>>16<<1)>>1]=K}a[j+t>>0]=O+255+(Wa(e+(O<<1)|0,M&255)|0);U=t;V=O}if((U|0)<=-1)break;m=a[j+U>>0]|0;k=a[i+U>>0]|0;n=U;o=K;p=V}l=g;return K|0}function Wa(a,b){a=a|0;b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0;c=b+31|0;e=0;f=0;while(1){g=(d[a+(f<<1)+1>>0]|0)-b|0;if((g|0)<32){h=-2147483648>>>g;i=f+1|0}else{h=1;i=(Wa(a+(f<<1)|0,c)|0)+f|0}e=h+e|0;if((e|0)<=-1)break;else f=i}return i|0}function Xa(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,Bb=0,Cb=0,Eb=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;i=l;l=l+1088|0;j=i;k=i+312|0;m=i+304|0;n=i+256|0;if((f|0)==0|(g|0)==0){o=-1;l=i;return o|0}p=c[g+4>>2]|0;a:do if(!p){q=f+872|0;a[q>>0]=1;r=q;s=0}else{q=f+51636|0;wa(q,c[g>>2]|0,p);if(ya(q)|0){o=-24;l=i;return o|0}t=f+872|0;a[t>>0]=ya(q)|0;a[f+875>>0]=xa(q,6)|0;if(ya(q)|0){a[f+876>>0]=xa(q,6)|0;if(!(ya(q)|0))u=2;else{a[f+877>>0]=xa(q,6)|0;u=3}}else u=1;a[f+874>>0]=u;if(!(a[t>>0]|0)){if(xa(q,3)|0){o=-23;l=i;return o|0}if(!(a[t>>0]|0)){v=c[f+216>>2]|0;w=c[f+184>>2]|0;x=c[f+188>>2]|0;y=c[f+168>>2]|0;z=0;A=0;B=0;D=0;while(1){z=(c[f+72+(A<<5)+28>>2]|0)+z|0;if(D>>>0<z>>>0){E=B;F=D;while(1){G=x+F|0;H=E;I=0;while(1){if((d[G>>0]|0)>>>2&15&1<<I){J=c[w+(F<<6)+(I<<4)>>2]|0;if((J|0)>-1){K=y+(J<<2)|0;c[K>>2]=c[K>>2]&-1986|385;c[v+(H<<2)>>2]=J;L=H+1|0}else L=H;J=c[w+(F<<6)+(I<<4)+4>>2]|0;if((J|0)>-1){K=y+(J<<2)|0;c[K>>2]=c[K>>2]&-1986|385;c[v+(L<<2)>>2]=J;M=L+1|0}else M=L;J=c[w+(F<<6)+(I<<4)+8>>2]|0;if((J|0)>-1){K=y+(J<<2)|0;c[K>>2]=c[K>>2]&-1986|385;c[v+(M<<2)>>2]=J;N=M+1|0}else N=M;J=c[w+(F<<6)+(I<<4)+12>>2]|0;if((J|0)>-1){K=y+(J<<2)|0;c[K>>2]=c[K>>2]&-1986|385;c[v+(N<<2)>>2]=J;O=N+1|0}else O=N}else O=H;I=I+1|0;if((I|0)==4)break;else H=O}F=F+1|0;if((F|0)==(z|0)){P=O;Q=z;break}else E=O}}else{P=B;Q=D}c[f+220+(A<<2)>>2]=P-B;A=A+1|0;if((A|0)==3){r=t;s=P;break a}else{B=P;D=Q}}}}D=ya(q)|0;B=f+188|0;A=c[B>>2]|0;z=f+192|0;v=c[z>>2]|0;if(v){y=D;D=0;w=0;while(1){x=Ya(q,796)|0;E=x&31;if((x|0)>15)S=E+6+(xa(q,x-E>>4)|0)|0;else S=x;x=(y&255)<<1&2;T=D;E=S;F=w;do{H=A+F|0;a[H>>0]=a[H>>0]&-4|x;T=T+y|0;F=F+1|0;E=E+-1|0;U=F>>>0<v>>>0}while((E|0)!=0&U);if(S>>>0>4128&U)V=ya(q)|0;else V=(y|0)==0&1;if(U){y=V;D=T;w=F}else break}w=c[z>>2]|0;b:do if(T>>>0<w>>>0){D=c[B>>2]|0;y=0;while(1)if(!(a[D+y>>0]&2))break;else y=y+1|0;F=ya(q)|0;v=y;while(1){A=Ya(q,796)|0;E=A&31;if((A|0)>15)W=E+6+(xa(q,A-E>>4)|0)|0;else W=A;if(v>>>0>=w>>>0)break b;A=F&1;E=W;x=v;while(1){H=D+x|0;I=a[H>>0]|0;if(!(I&2)){if(!E)break;a[H>>0]=I&-2|A;X=E+-1|0}else X=E;I=x+1|0;if(I>>>0<w>>>0){E=X;x=I}else break b}if(W>>>0<4129){F=(F|0)==0&1;v=x;continue}else{F=ya(q)|0;v=x;continue}}}while(0);if(T)Y=(ya(q)|0)==0&1;else Y=0}else Y=0;w=c[f+184>>2]|0;z=c[B>>2]|0;v=c[f+200>>2]|0;F=c[f+168>>2]|0;D=c[f+216>>2]|0;y=D+(c[f+180>>2]<<2)|0;E=Y;A=0;I=0;H=0;G=0;J=0;K=0;while(1){I=(c[f+72+(G<<5)+28>>2]|0)+I|0;if(K>>>0<I>>>0){Z=(G|0)==0;_=E;$=A;aa=H;ba=J;ca=K;while(1){da=z+ca|0;ea=ca<<2;if(Z){fa=_;ia=$;ja=aa;ka=0;la=ba;while(1){if(!((d[da>>0]|0)>>>2&15&1<<ka)){ma=fa;na=ia;oa=ja;pa=la}else{qa=0;ra=fa;sa=ia;ta=ja;ua=0;va=la;while(1){za=c[w+(ca<<6)+(ka<<4)+(qa<<2)>>2]|0;if((za|0)>-1){Aa=a[da>>0]|0;do if(!(Aa&1)){if(Aa&2){if((va|0)<1){Ba=(ra|0)==0&1;Ca=Ya(q,840)|0}else{Ba=ra;Ca=va}Da=Ca+-1|0;if(!Ba){Ea=0;Fa=Da}else{Ga=Ba;Ha=Ba;Ia=Da;Ja=64;break}}else{Ea=ra;Fa=va}Ka=y+(~ta<<2)|0;Ma=0;Na=Ea;Oa=sa;Pa=ta+1|0;Qa=Fa}else{Ga=1;Ha=ra;Ia=va;Ja=64}while(0);if((Ja|0)==64){Ja=0;Ka=D+(sa<<2)|0;Ma=Ga;Na=Ha;Oa=sa+1|0;Pa=ta;Qa=Ia}c[Ka>>2]=za;Aa=F+(za<<2)|0;c[Aa>>2]=Ma&1|c[Aa>>2]&-194|192;Ra=Na;Sa=Oa;Ta=Pa;Ua=Ma|ua;Va=Qa}else{Ra=ra;Sa=sa;Ta=ta;Ua=ua;Va=va}qa=qa+1|0;if((qa|0)==4)break;else{ra=Ra;sa=Sa;ta=Ta;ua=Ua;va=Va}}a[v+(ka|ea)>>0]=Ua;ma=Ra;na=Sa;oa=Ta;pa=Va}ka=ka+1|0;if((ka|0)==4){Wa=ma;Xa=na;hb=oa;ib=pa;break}else{fa=ma;ia=na;ja=oa;la=pa}}}else{la=_;ja=$;ia=aa;fa=0;ka=ba;while(1){if(!((d[da>>0]|0)>>>2&15&1<<fa)){jb=la;kb=ja;lb=ia;mb=ka}else{ea=0;x=la;va=ja;ua=ia;ta=ka;while(1){sa=c[w+(ca<<6)+(fa<<4)+(ea<<2)>>2]|0;if((sa|0)>-1){ra=a[da>>0]|0;do if(!(ra&1)){if(ra&2){if((ta|0)<1){nb=(x|0)==0&1;ob=Ya(q,840)|0}else{nb=x;ob=ta}qa=ob+-1|0;if(!nb){pb=0;qb=qa}else{rb=nb;sb=nb;tb=qa;Ja=76;break}}else{pb=x;qb=ta}ub=y+(~ua<<2)|0;vb=0;wb=pb;xb=va;yb=ua+1|0;Bb=qb}else{rb=1;sb=x;tb=ta;Ja=76}while(0);if((Ja|0)==76){Ja=0;ub=D+(va<<2)|0;vb=rb;wb=sb;xb=va+1|0;yb=ua;Bb=tb}c[ub>>2]=sa;ra=F+(sa<<2)|0;c[ra>>2]=vb&1|c[ra>>2]&-194|192;Cb=wb;Eb=xb;Jb=yb;Kb=Bb}else{Cb=x;Eb=va;Jb=ua;Kb=ta}ea=ea+1|0;if((ea|0)==4){jb=Cb;kb=Eb;lb=Jb;mb=Kb;break}else{x=Cb;va=Eb;ua=Jb;ta=Kb}}}fa=fa+1|0;if((fa|0)==4){Wa=jb;Xa=kb;hb=lb;ib=mb;break}else{la=jb;ja=kb;ia=lb;ka=mb}}}ca=ca+1|0;if((ca|0)==(I|0)){Lb=Wa;Mb=Xa;Nb=hb;Ob=ib;Pb=I;break}else{_=Wa;$=Xa;aa=hb;ba=ib}}}else{Lb=E;Mb=A;Nb=H;Ob=J;Pb=K}c[f+220+(G<<2)>>2]=Mb-A;G=G+1|0;if((G|0)==3){r=t;s=Mb;break}else{E=Lb;A=Mb;H=Nb;J=Ob;K=Pb}}}while(0);Pb=f+232|0;c[Pb>>2]=s;do if(!(a[r>>0]|0))Qb=s;else{Ob=f+524|0;Nb=f+528|0;if((c[Ob>>2]|0)>=0?(c[Nb>>2]|0)>=0:0){Qb=s;break}c[Ob>>2]=0;c[Nb>>2]=0;c[f+532>>2]=0;Nb=c[f+248>>2]|0;c[f+556>>2]=Nb;c[f+552>>2]=Nb;c[f+548>>2]=Nb;Rb=f+54056|0;Sb=f+236|0;Tb=Rb+48|0;do{c[Rb>>2]=c[Sb>>2];Rb=Rb+4|0;Sb=Sb+4|0}while((Rb|0)<(Tb|0));Ob=c[f+576>>2]|0;Mb=(Ob|0)>-1?Ob:0-Ob|0;Ob=c[f+8>>2]|0;Lb=Ob+32|0;ib=c[f+580>>2]|0;Gb(Nb+(-16-(R(Mb,Ob+15|0)|0))|0,-128,(R(Mb,Lb)|0)+16+(R(((ib|0)>-1?ib:0-ib|0)<<1,Lb>>((c[f+48>>2]|0)>>>1&1^1))|0)|0)|0;Qb=c[Pb>>2]|0}while(0);if((Qb|0)<1){s=f+848|0;Lb=c[s>>2]|0;ib=c[s+4>>2]|0;s=Fb(d[f+873>>0]|0,0,Lb|0,ib|0)|0;Mb=Ib(s|0,C|0,c[f+60>>2]|0)|0;s=C;Ob=f+856|0;hb=Ob;Xa=c[hb>>2]|0;Wa=c[hb+4>>2]|0;hb=Db(Xa|0,Wa|0,Lb|0,ib|0)|0;ib=Fb(hb|0,C|0,Mb|0,s|0)|0;s=C;Mb=f+864|0;c[Mb>>2]=ib;c[Mb+4>>2]=s;Mb=Fb(Xa|0,Wa|0,1,0)|0;Wa=Ob;c[Wa>>2]=Mb;c[Wa+4>>2]=C;if(!h){o=1;l=i;return o|0}Wa=h;c[Wa>>2]=ib;c[Wa+4>>2]=s;o=1;l=i;return o|0}s=f+528|0;Wa=f+524|0;ib=c[Wa>>2]|0;Mb=c[s>>2]|0;Ob=0;while(1)if((Ob|0)==(ib|0)|(Ob|0)==(Mb|0))Ob=Ob+1|0;else break;Mb=f+532|0;c[Mb>>2]=Ob;ib=f+556|0;c[ib>>2]=c[f+236+(Ob*48|0)+12>>2];if(!(a[r>>0]|0)){Xa=f+856|0;hb=c[Xa+4>>2]|0;Lb=f+848|0;c[Lb>>2]=c[Xa>>2];c[Lb+4>>2]=hb;Ub=Qb}else{Qb=f+51636|0;hb=xa(Qb,3)|0;if(!hb){Lb=j;c[Lb>>2]=0;c[Lb+4>>2]=0;a[j+(xa(Qb,3)|0)>>0]=0;a[j+(xa(Qb,3)|0)>>0]=1;a[j+(xa(Qb,3)|0)>>0]=2;a[j+(xa(Qb,3)|0)>>0]=3;a[j+(xa(Qb,3)|0)>>0]=4;a[j+(xa(Qb,3)|0)>>0]=5;a[j+(xa(Qb,3)|0)>>0]=6;a[j+(xa(Qb,3)|0)>>0]=7;Vb=j}else Vb=1619+(hb+-1<<3)|0;Lb=(hb|0)==7?962:980;hb=f+200|0;Xa=c[hb>>2]|0;mb=f+212|0;lb=c[mb>>2]|0;if(lb|0){kb=0;do{jb=Xa+kb|0;if((a[jb>>0]|0)>0)a[jb>>0]=a[Vb+(Ya(Qb,Lb)|0)>>0]|0;kb=kb+1|0}while((kb|0)!=(lb|0))}lb=f+48|0;kb=c[8+(c[lb>>2]<<2)>>2]|0;Lb=(ya(Qb)|0)!=0;Vb=Lb?1032:1162;Lb=c[lb>>2]|0;lb=a[1544+Lb>>0]|0;Xa=lb&255;jb=c[f+168>>2]|0;Kb=c[f+176>>2]|0;Jb=c[f+196>>2]|0;Eb=c[hb>>2]|0;hb=c[mb>>2]|0;c:do if(hb|0){mb=(lb&255)>4;Cb=k+2|0;Bb=k+4|0;yb=k+6|0;xb=0;wb=0;vb=0;while(1){ub=a[Eb+wb>>0]|0;tb=ub<<24>>24;switch(ub<<24>>24){case -1:{Wb=xb;Xb=vb;break}case 7:{ub=c[Jb+(wb*48|0)>>2]|0;sb=jb+(ub<<2)|0;rb=c[sb>>2]|0;if(!(rb&1)){b[k>>1]=0;Yb=xb}else{c[sb>>2]=rb&-1985|1856;rb=(Ya(Qb,Vb)|0)+224|0;sb=(((Ya(Qb,Vb)|0)<<8)+57344|rb&255)&65535;b[k>>1]=sb;b[Kb+(ub<<1)>>1]=sb;Yb=sb}sb=c[Jb+(wb*48|0)+4>>2]|0;ub=jb+(sb<<2)|0;rb=c[ub>>2]|0;if(!(rb&1)){b[Cb>>1]=0;Zb=Yb}else{c[ub>>2]=rb&-1985|1856;rb=(Ya(Qb,Vb)|0)+224|0;ub=(((Ya(Qb,Vb)|0)<<8)+57344|rb&255)&65535;b[Cb>>1]=ub;b[Kb+(sb<<1)>>1]=ub;Zb=ub}ub=c[Jb+(wb*48|0)+8>>2]|0;sb=jb+(ub<<2)|0;rb=c[sb>>2]|0;if(!(rb&1)){b[Bb>>1]=0;_b=Zb}else{c[sb>>2]=rb&-1985|1856;rb=(Ya(Qb,Vb)|0)+224|0;sb=(((Ya(Qb,Vb)|0)<<8)+57344|rb&255)&65535;b[Bb>>1]=sb;b[Kb+(ub<<1)>>1]=sb;_b=sb}sb=c[Jb+(wb*48|0)+12>>2]|0;ub=jb+(sb<<2)|0;rb=c[ub>>2]|0;if(!(rb&1)){b[yb>>1]=0;$b=_b}else{c[ub>>2]=rb&-1985|1856;rb=(Ya(Qb,Vb)|0)+224|0;ub=(((Ya(Qb,Vb)|0)<<8)+57344|rb&255)&65535;b[yb>>1]=ub;b[Kb+(sb<<1)>>1]=ub;$b=ub}ga[kb&7](j,k);if(mb){ub=4;do{sb=d[1496+(Lb*12|0)+ub>>0]|0;rb=sb&3;qb=c[Jb+(wb*48|0)+(sb>>>2<<4)+(rb<<2)>>2]|0;sb=jb+(qb<<2)|0;pb=c[sb>>2]|0;if(pb&1|0){c[sb>>2]=pb&-1985|1856;b[Kb+(qb<<1)>>1]=b[j+(rb<<1)>>1]|0}ub=ub+1|0}while((ub|0)!=(Xa|0))}Wb=$b;Xb=xb;break}default:{switch(tb|0){case 2:{ub=(Ya(Qb,Vb)|0)+224|0;rb=(((Ya(Qb,Vb)|0)<<8)+57344|ub&255)&65535;ac=rb;bc=rb;cc=xb;break}case 3:{ac=xb;bc=xb;cc=vb;break}case 4:{ac=vb;bc=vb;cc=xb;break}case 6:{rb=(Ya(Qb,Vb)|0)+224|0;ac=xb;bc=(((Ya(Qb,Vb)|0)<<8)+57344|rb&255)&65535;cc=vb;break}default:{ac=xb;bc=0;cc=vb}}rb=268505377>>>(tb<<2)<<6&192|tb<<8&1792;ub=0;do{qb=d[1496+(Lb*12|0)+ub>>0]|0;pb=c[Jb+(wb*48|0)+(qb>>>2<<4)+((qb&3)<<2)>>2]|0;qb=jb+(pb<<2)|0;sb=c[qb>>2]|0;if(sb&1|0){c[qb>>2]=rb|sb&-1985;b[Kb+(pb<<1)>>1]=bc}ub=ub+1|0}while((ub|0)<(Xa|0));Wb=ac;Xb=cc}}wb=wb+1|0;if((wb|0)==(hb|0))break c;else{xb=Wb;vb=Xb}}}while(0);Ub=c[Pb>>2]|0}d:do if((Ub|0)>=1){Pb=c[f+168>>2]|0;Xb=c[f+216>>2]|0;Wb=f+874|0;if((a[Wb>>0]|0)==1){hb=0;while(1){cc=Pb+(c[Xb+(hb<<2)>>2]<<2)|0;c[cc>>2]=c[cc>>2]&-61;hb=hb+1|0;if((hb|0)==(Ub|0))break d}}hb=f+51636|0;cc=ya(hb)|0;ac=0;Xa=0;while(1){bc=Ya(hb,796)|0;Kb=bc&31;if((bc|0)>15)dc=Kb+6+(xa(hb,bc-Kb>>4)|0)|0;else dc=bc;bc=(dc|0)>4128;Kb=cc<<2&60;jb=ac;ec=Xa;Jb=dc;while(1){Lb=jb;jb=jb+1|0;Vb=Pb+(c[Xb+(Lb<<2)>>2]<<2)|0;c[Vb>>2]=c[Vb>>2]&-61|Kb;ec=ec+cc|0;if((Jb|0)<=1)break;if((jb|0)>=(Ub|0))break;else Jb=Jb+-1|0}Jb=(jb|0)<(Ub|0);if(bc&Jb)fc=ya(hb)|0;else fc=(cc|0)==0&1;if(Jb){cc=fc;ac=jb;Xa=ec}else break}if((ec|0)>0&(a[Wb>>0]|0)==3){Xa=0;while(1)if(!(c[Pb+(c[Xb+(Xa<<2)>>2]<<2)>>2]&60))Xa=Xa+1|0;else break;Wb=ya(hb)|0;ac=Xa;while(1){cc=Ya(hb,796)|0;Jb=cc&31;if((cc|0)>15)gc=Jb+6+(xa(hb,cc-Jb>>4)|0)|0;else gc=cc;if((ac|0)<(Ub|0)){hc=ac;ic=gc}else break d;while(1){cc=Pb+(c[Xb+(hc<<2)>>2]<<2)|0;Jb=c[cc>>2]|0;Kb=Jb>>>2;if(!(Kb&15))jc=ic;else{if((ic|0)<1)break;c[cc>>2]=Kb+Wb<<2&60|Jb&-61;jc=ic+-1|0}Jb=hc+1|0;if((Jb|0)<(Ub|0)){hc=Jb;ic=jc}else break d}if((gc|0)<4129){Wb=(Wb|0)==0&1;ac=hc;continue}else{Wb=ya(hb)|0;ac=hc;continue}}}}while(0);hc=f+220|0;gc=c[hc>>2]|0;jc=0;do{c[k+(jc<<2)>>2]=gc;jc=jc+1|0}while((jc|0)!=64);jc=f+224|0;gc=c[jc>>2]|0;ic=0;do{c[k+256+(ic<<2)>>2]=gc;ic=ic+1|0}while((ic|0)!=64);ic=f+228|0;gc=c[ic>>2]|0;Ub=0;do{c[k+512+(Ub<<2)>>2]=gc;Ub=Ub+1|0}while((Ub|0)!=64);Ub=f+51636|0;c[m>>2]=xa(Ub,4)|0;gc=m+4|0;c[gc>>2]=xa(Ub,4)|0;c[f+52744>>2]=0;ec=f+53512|0;fc=c[ec>>2]|0;dc=f+168|0;ac=c[dc>>2]|0;hb=f+216|0;Wb=c[hb>>2]|0;Xb=0;Pb=0;Xa=0;jb=0;bc=0;while(1){Xa=(c[f+220+(jb<<2)>>2]|0)+Xa|0;Gb(j|0,0,256)|0;c[f+52744+(jb<<8)>>2]=Xb;c[f+51976+(jb<<8)>>2]=bc;Jb=Xa-Pb|0;Kb=(Jb|0)<(Xb|0)?Jb:Xb;Jb=Xb-Kb|0;if((Kb|0)>0){cc=Kb;Vb=Pb;while(1){Lb=Vb+1|0;Qb=ac+(c[Wb+(Vb<<2)>>2]<<2)|0;c[Qb>>2]=c[Qb>>2]&65535;if((cc|0)>1){cc=cc+-1|0;Vb=Lb}else{kc=Lb;break}}}else kc=Pb;e:do if((Xa|0)>(kc|0)){Vb=f+51656+(c[m+(jb+1>>1<<2)>>2]<<2)|0;cc=Kb;Lb=kc;Qb=bc;while(1){$b=Lb;kb=Qb;while(1){_b=Ya(Ub,c[Vb>>2]|0)|0;Zb=kb+1|0;a[fc+kb>>0]=_b;if((_b|0)<15){Yb=xa(Ub,d[1675+_b>>0]|0)|0;Eb=kb+2|0;a[fc+Zb>>0]=Yb;if(!_b){a[fc+Eb>>0]=Yb>>>8;lc=kb+3|0}else lc=Eb;mc=Yb<<((_b|0)<2?-13:0)+((_b|0)<12?21:0);nc=lc}else{mc=0;nc=Zb}Zb=(c[184+(_b<<2)>>2]|0)+mc|0;oc=(Zb|0)==0?2147483647:Zb>>>8&4095;if(oc|0)break;_b=Zb&255;Yb=j+(_b<<2)|0;c[Yb>>2]=(c[Yb>>2]|0)+1;Yb=$b+1|0;Eb=ac+(c[Wb+($b<<2)>>2]<<2)|0;c[Eb>>2]=c[Eb>>2]&65535|(_b|0?0:(Zb^0-(Zb&1048576))>>21<<16);if((Xa|0)>(Yb|0)){$b=Yb;kb=nc}else{pc=cc;qc=0;rc=Yb;sc=nc;break e}}kb=Xa-$b|0;tc=(kb|0)<(oc|0)?kb-oc|0:0;kb=tc+oc|0;cc=kb+cc|0;if((kb|0)>0){Yb=kb;kb=$b;while(1){Zb=kb+1|0;_b=ac+(c[Wb+(kb<<2)>>2]<<2)|0;c[_b>>2]=c[_b>>2]&65535;if((Yb|0)>1){Yb=Yb+-1|0;kb=Zb}else{uc=Zb;break}}}else uc=$b;if((Xa|0)<=(uc|0))break;else{Lb=uc;Qb=nc}}pc=cc;qc=0-tc|0;rc=uc;sc=nc}else{pc=Kb;qc=Jb;rc=kc;sc=bc}while(0);Jb=pc;Kb=63;while(1){Qb=j+(Kb<<2)|0;Jb=(c[Qb>>2]|0)+Jb|0;c[Qb>>2]=Jb;if((Kb|0)<=0){vc=63;break}else Kb=Kb+-1|0}while(1){Kb=k+(jb<<8)+(vc<<2)|0;c[Kb>>2]=(c[Kb>>2]|0)-(c[j+(vc<<2)>>2]|0);if((vc|0)>0)vc=vc+-1|0;else break}jb=jb+1|0;if((jb|0)==3)break;else{Xb=qc;Pb=rc;bc=sc}}bc=f+53520|0;c[bc>>2]=sc;sc=xa(Ub,4)|0;c[m>>2]=sc;rc=xa(Ub,4)|0;c[gc>>2]=rc;Pb=j+252|0;Xb=sc;sc=rc;rc=qc;qc=1;jb=1;while(1){Xb=Xb+16|0;c[m>>2]=Xb;sc=sc+16|0;c[gc>>2]=sc;vc=d[1690+qc>>0]|0;if((jb|0)<(vc|0)){pc=c[bc>>2]|0;kc=rc;nc=jb;while(1){uc=c[ec>>2]|0;tc=64-nc|0;if((tc|0)>0){Xa=kc;Wb=0;ac=pc;while(1){c[f+52744+(Wb<<8)+(nc<<2)>>2]=Xa;c[f+51976+(Wb<<8)+(nc<<2)>>2]=ac;oc=c[k+(Wb<<8)+(nc<<2)>>2]|0;Gb(j|0,0,256)|0;if(Xa>>>0<oc>>>0){mc=f+51656+(c[m+(Wb+1>>1<<2)>>2]<<2)|0;lc=Xa;fc=Xa;Kb=0;Jb=ac;while(1){Kb=Kb+lc|0;Qb=Ya(Ub,c[mc>>2]|0)|0;Lb=Jb+1|0;a[uc+Jb>>0]=Qb;if((Qb|0)<15){Vb=xa(Ub,d[1675+Qb>>0]|0)|0;kb=Jb+2|0;a[uc+Lb>>0]=Vb;if(!Qb){a[uc+kb>>0]=Vb>>>8;wc=Jb+3|0}else wc=kb;xc=Vb<<((Qb|0)<2?-13:0)+((Qb|0)<12?21:0);yc=wc}else{xc=0;yc=Lb}Lb=(c[184+(Qb<<2)>>2]|0)+xc|0;Qb=(Lb|0)==0?2147483647:Lb>>>8&4095;Vb=j+((Lb&255)<<2)|0;if(!Qb){c[Vb>>2]=(c[Vb>>2]|0)+1;zc=0;Ac=fc+1|0}else{zc=Qb;Ac=fc}fc=zc+Ac|0;if(fc>>>0>=oc>>>0)break;else{lc=zc;Jb=yc}}Bc=c[Pb>>2]|0;Cc=zc;Dc=Kb;Ec=Ac;Fc=yc}else{Bc=0;Cc=Xa;Dc=0;Ec=0;Fc=ac}Jb=oc-Ec|0;lc=Dc+Bc+Jb|0;c[Pb>>2]=lc;fc=lc;lc=62;while(1){mc=j+(lc<<2)|0;fc=(c[mc>>2]|0)+fc|0;c[mc>>2]=fc;if((lc|0)<=0){Gc=tc;break}else lc=lc+-1|0}do{lc=Gc;Gc=Gc+-1|0;fc=k+(Wb<<8)+(Gc+nc<<2)|0;c[fc>>2]=(c[fc>>2]|0)-(c[j+(Gc<<2)>>2]|0)}while((lc|0)>1);lc=Cc-Jb|0;Wb=Wb+1|0;if((Wb|0)==3){Hc=lc;Ic=Fc;break}else{Xa=lc;ac=Fc}}}else{ac=kc;Xa=0;Wb=pc;while(1){c[f+52744+(Xa<<8)+(nc<<2)>>2]=ac;c[f+51976+(Xa<<8)+(nc<<2)>>2]=Wb;tc=c[k+(Xa<<8)+(nc<<2)>>2]|0;Gb(j|0,0,256)|0;if(ac>>>0<tc>>>0){cc=f+51656+(c[m+(Xa+1>>1<<2)>>2]<<2)|0;lc=ac;fc=ac;oc=0;Kb=Wb;while(1){oc=oc+lc|0;mc=Ya(Ub,c[cc>>2]|0)|0;$b=Kb+1|0;a[uc+Kb>>0]=mc;if((mc|0)<15){Qb=xa(Ub,d[1675+mc>>0]|0)|0;Vb=Kb+2|0;a[uc+$b>>0]=Qb;if(!mc){a[uc+Vb>>0]=Qb>>>8;Jc=Kb+3|0}else Jc=Vb;Kc=Qb<<((mc|0)<2?-13:0)+((mc|0)<12?21:0);Lc=Jc}else{Kc=0;Lc=$b}$b=(c[184+(mc<<2)>>2]|0)+Kc|0;mc=($b|0)==0?2147483647:$b>>>8&4095;Qb=j+(($b&255)<<2)|0;if(!mc){c[Qb>>2]=(c[Qb>>2]|0)+1;Mc=0;Nc=fc+1|0}else{Mc=mc;Nc=fc}fc=Mc+Nc|0;if(fc>>>0>=tc>>>0)break;else{lc=Mc;Kb=Lc}}Oc=c[Pb>>2]|0;Pc=Mc;Qc=oc;Rc=Nc;Sc=Lc}else{Oc=0;Pc=ac;Qc=0;Rc=0;Sc=Wb}Kb=tc-Rc|0;lc=Qc+Oc+Kb|0;c[Pb>>2]=lc;fc=lc;lc=62;while(1){cc=j+(lc<<2)|0;fc=(c[cc>>2]|0)+fc|0;c[cc>>2]=fc;if((lc|0)<=0)break;else lc=lc+-1|0}lc=Pc-Kb|0;Xa=Xa+1|0;if((Xa|0)==3){Hc=lc;Ic=Sc;break}else{ac=lc;Wb=Sc}}}c[bc>>2]=Ic;nc=nc+1|0;if((nc|0)==(vc|0)){Tc=Hc;Uc=vc;break}else{pc=Ic;kc=Hc}}}else{Tc=rc;Uc=jb}qc=qc+1|0;if((qc|0)==5)break;else{rc=Tc;jb=Uc}}Uc=f+848|0;jb=c[Uc>>2]|0;Tc=c[Uc+4>>2]|0;Uc=Fb(d[f+873>>0]|0,0,jb|0,Tc|0)|0;rc=Ib(Uc|0,C|0,c[f+60>>2]|0)|0;Uc=C;qc=f+856|0;Hc=qc;Ic=c[Hc>>2]|0;bc=c[Hc+4>>2]|0;Hc=Db(Ic|0,bc|0,jb|0,Tc|0)|0;Tc=Fb(Hc|0,C|0,rc|0,Uc|0)|0;Uc=C;rc=f+864|0;c[rc>>2]=Tc;c[rc+4>>2]=Uc;rc=Fb(Ic|0,bc|0,1,0)|0;bc=qc;c[bc>>2]=rc;c[bc+4>>2]=C;if(h|0){bc=h;c[bc>>2]=Tc;c[bc+4>>2]=Uc}Uc=f+54112|0;bc=f+48|0;Tc=f+57120|0;c[Tc>>2]=4<<((c[bc>>2]|0)>>>1&1^1);Hb(f+54624|0,f+51976|0,768)|0;Hb(f+56160|0,f+52744|0,768)|0;h=c[hb>>2]|0;rc=f+180|0;qc=h+(c[rc>>2]<<2)|0;c[f+56928>>2]=h;c[f+56940>>2]=qc;Ic=c[hc>>2]|0;Hc=h+(Ic<<2)|0;h=qc+(Ic-(c[f+84>>2]|0)<<2)|0;c[f+56932>>2]=Hc;c[f+56944>>2]=h;Ic=c[jc>>2]|0;qc=h+(Ic-(c[f+116>>2]|0)<<2)|0;c[f+56936>>2]=Hc+(Ic<<2);c[f+56948>>2]=qc;qc=a[f+874>>0]|0;if(qc<<24>>24){Ic=qc&255;qc=0;do{Hc=f+875+qc|0;c[f+56976+(qc<<3)>>2]=c[f+880+((d[Hc>>0]|0)*24|0)>>2];c[f+56976+(qc<<3)+4>>2]=c[f+880+((d[Hc>>0]|0)*24|0)+4>>2];qc=qc+1|0}while((qc|0)!=(Ic|0));Vc=0;do{qc=f+875+Vc|0;c[f+57e3+(Vc<<3)>>2]=c[f+880+((d[qc>>0]|0)*24|0)+8>>2];c[f+57e3+(Vc<<3)+4>>2]=c[f+880+((d[qc>>0]|0)*24|0)+12>>2];Vc=Vc+1|0}while((Vc|0)!=(Ic|0));Wc=0;do{Vc=f+875+Wc|0;c[f+57024+(Wc<<3)>>2]=c[f+880+((d[Vc>>0]|0)*24|0)+16>>2];c[f+57024+(Wc<<3)+4>>2]=c[f+880+((d[Vc>>0]|0)*24|0)+20>>2];Wc=Wc+1|0}while((Wc|0)!=(Ic|0))}Rb=f+57072|0;Tb=Rb+48|0;do{c[Rb>>2]=0;Rb=Rb+4|0}while((Rb|0)<(Tb|0));Ic=f+875|0;Wc=a[(d[Ic>>0]|0)+(f+51568)>>0]|0;Vc=Wc<<24>>24!=0;qc=f+57124|0;c[qc>>2]=Vc&1;if(Vc)Za(f+54368|0,Wc&255);Wc=f+53524|0;Vc=c[Wc>>2]|0;Hc=f+54040|0;h=c[Hc>>2]|0;jb=(h|0)==0;f:do if((Vc|0)<1)if(jb)Ja=249;else{Ab(h);c[Hc>>2]=0;Sc=f+54044|0;Ab(c[Sc>>2]|0);c[Sc>>2]=0;Sc=f+54048|0;Ab(c[Sc>>2]|0);c[Sc>>2]=0;Ja=249}else{if(!jb){Sc=c[hb>>2]|0;Pc=(c[jc>>2]|0)+(c[hc>>2]|0)+(c[ic>>2]|0)|0;Pb=a[Ic>>0]|0;if((Pc|0)>0){Oc=0;do{a[h+(c[Sc+(Oc<<2)>>2]|0)>>0]=Pb;Oc=Oc+1|0}while((Oc|0)!=(Pc|0));Xc=c[Wc>>2]|0}else Xc=Vc}else{if(a[r>>0]|0){Ja=249;break}Pc=c[rc>>2]|0;Oc=zb(Pc)|0;c[Hc>>2]=Oc;if(!Oc){Ja=249;break}Gb(Oc|0,a[Ic>>0]|0,Pc|0)|0;Xc=Vc}Pc=f+54044|0;Oc=c[Pc>>2]|0;Pb=(Oc|0)==0;if((Xc|0)<2){if(Pb){Ja=249;break}Ab(Oc);c[Pc>>2]=0;Oc=f+54048|0;Ab(c[Oc>>2]|0);c[Oc>>2]=0;Ja=249;break}do if(Pb){Oc=c[f+4>>2]|0;Sc=c[f+8>>2]|0;Qc=R(Sc,Oc)|0;Rc=c[bc>>2]|0;Lc=zb((R(Oc>>>(Rc&1^1)<<1,Sc>>>(Rc>>>1&1^1))|0)+Qc|0)|0;Qc=f+54048|0;c[Qc>>2]=Lc;Rc=zb(c[rc>>2]<<2)|0;c[Pc>>2]=Rc;if((Lc|0)==0|(Rc|0)==0){Ab(Lc);c[Qc>>2]=0;Ab(c[Pc>>2]|0);c[Pc>>2]=0;Ja=249;break f}else{Qc=f+54052|0;c[Qc>>2]=0;Yc=Oc;Zc=Sc;_c=Lc;$c=Qc;Ja=242;break}}else{Qc=f+54052|0;if((c[Qc>>2]|0)==(((Xc|0)>4?2:1)|0))ad=Xc;else{Yc=c[f+4>>2]|0;Zc=c[f+8>>2]|0;_c=c[f+54048>>2]|0;$c=Qc;Ja=242}}while(0);if((Ja|0)==242){c[f+54056>>2]=Yc;c[f+54060>>2]=Zc;if((Xc|0)<5){Pb=0-Yc|0;c[f+54064>>2]=Pb;c[f+54068>>2]=_c+(R(1-Zc|0,Pb)|0);bd=Xc}else{Pb=R(Yc,Zc)|0;Qc=c[bc>>2]|0;Lc=Yc>>>(Qc&1^1);Sc=Zc>>>(Qc>>>1&1^1);Qc=R(Sc,Lc)|0;Oc=f+54056|0;c[f+54064>>2]=Yc;c[f+54068>>2]=_c;c[f+54072>>2]=Lc;c[f+54076>>2]=Sc;c[f+54080>>2]=Lc;Rc=_c+Pb|0;c[f+54084>>2]=Rc;c[f+54088>>2]=Lc;c[f+54092>>2]=Sc;c[f+54096>>2]=Lc;c[f+54100>>2]=Rc+Qc;La(Oc,Oc);bd=c[Wc>>2]|0}c[$c>>2]=(bd|0)>4?2:1;ad=bd}if((ad|0)<5){Oc=f+54072|0;Qc=f+236+((c[Mb>>2]|0)*48|0)+16|0;c[Oc>>2]=c[Qc>>2];c[Oc+4>>2]=c[Qc+4>>2];c[Oc+8>>2]=c[Qc+8>>2];c[Oc+12>>2]=c[Qc+12>>2];c[Oc+16>>2]=c[Qc+16>>2];c[Oc+20>>2]=c[Qc+20>>2];c[Oc+24>>2]=c[Qc+24>>2];c[Oc+28>>2]=c[Qc+28>>2]}Qc=f+57128|0;c[Qc>>2]=c[Wc>>2];cd=f+54056|0;dd=Qc;ed=Pc}while(0);if((Ja|0)==249){ad=f+57128|0;c[ad>>2]=0;bd=f+54056|0;Rb=bd;Sb=f+236+((c[Mb>>2]|0)*48|0)|0;Tb=Rb+48|0;do{c[Rb>>2]=c[Sb>>2];Rb=Rb+4|0;Sb=Sb+4|0}while((Rb|0)<(Tb|0));cd=bd;dd=ad;ed=f+54044|0}Rb=Uc;Tb=Rb+128|0;do{b[Rb>>1]=0;Rb=Rb+2|0}while((Rb|0)<(Tb|0));La(n,cd);cd=f+76|0;Rb=f+64|0;Tb=j+2|0;ad=f+552|0;bd=f+172|0;Sb=f+54368|0;$c=f+54108|0;_c=f+54104|0;Yc=c[Tc>>2]|0;Zc=0;Xc=0;while(1){rc=c[cd>>2]|0;Vc=(Yc+Xc|0)<(rc|0);Ic=Vc&1;h=rc;ic=rc;rc=0;do{hc=(rc|0)!=0;if(hc)fd=(c[bc>>2]&2|0)==0;else fd=0;jc=fd&1;hb=Xc>>jc;jb=f+57048+(rc<<2)|0;c[jb>>2]=hb;Qc=f+72+(rc<<5)+4|0;Oc=c[Qc>>2]|0;Rc=(c[Tc>>2]>>jc)+hb|0;hb=f+57060+(rc<<2)|0;c[hb>>2]=(Rc|0)<(Oc|0)?Rc:Oc;_a(f,Uc,rc);Oc=c[ec>>2]|0;Rc=c[Rb>>2]|0;Lc=c[dc>>2]|0;Sc=f+56928+(rc<<2)|0;Pb=c[Sc>>2]|0;Nc=c[f+56952+(rc<<2)>>2]|0;b[j>>1]=b[c[f+56976+(rc*24|0)>>2]>>1]|0;b[Tb>>1]=b[c[f+56976+(rc*24|0)+4>>2]>>1]|0;if((Nc|0)>0){Mc=0;do{Kc=c[Pb+(Mc<<2)>>2]|0;Jc=Lc+(Kc<<2)|0;Ub=c[Jc>>2]|0;m=(Ub&1792|0)!=256&1;k=c[f+56976+(rc*24|0)+((Ub>>>2&15)<<3)+(m<<2)>>2]|0;Ub=0;while(1){gd=f+56160+(rc<<8)+(Ub<<2)|0;hd=c[gd>>2]|0;if(hd|0){Ja=260;break}Fc=f+54624+(rc<<8)+(Ub<<2)|0;Cc=c[Fc>>2]|0;Gc=Cc+1|0;Bc=a[Oc+Cc>>0]|0;Dc=c[184+((Bc&255)<<2)>>2]|0;Ec=Cc+2|0;do if((Bc&255)<15){yc=(d[Oc+Gc>>0]<<((Bc&255)<2?-13:0)+((Bc&255)<12?21:0))+Dc|0;Ac=yc>>>8&4095;if(Bc<<24>>24){id=yc;jd=Ac;kd=Ec;break}zc=(d[Oc+Ec>>0]<<8)+Ac|0;id=yc;jd=(zc|0)==0?2147483647:zc;kd=Cc+3|0}else{id=Dc;jd=Dc>>>8&4095;kd=Gc}while(0);c[gd>>2]=jd;c[Fc>>2]=kd;Gc=(id&255)+Ub|0;Dc=(R(e[k+(Gc<<1)>>1]|0,(id^0-(id&1048576))>>21)|0)&65535;b[f+54112+(d[Rc+Gc>>0]<<1)>>1]=Dc;Dc=((jd|0)==0&1)+Gc|0;if((Dc|0)<64)Ub=Dc;else break}if((Ja|0)==260){Ja=0;c[gd>>2]=hd+-1}b[Uc>>1]=(c[Jc>>2]|0)>>>16;$a(f,Kc,rc,Uc,Ub,b[j+(m<<1)>>1]|0);Mc=Mc+1|0}while((Mc|0)!=(Nc|0));ld=c[Sc>>2]|0}else ld=Pb;c[Sc>>2]=ld+(Nc<<2);Mc=c[f+56964+(rc<<2)>>2]|0;if((Mc|0)>0){Rc=f+56940+(rc<<2)|0;Oc=(c[Rc>>2]|0)+(0-Mc<<2)|0;c[Rc>>2]=Oc;ab(c[ib>>2]|0,c[ad>>2]|0,c[f+576+(rc<<2)>>2]|0,Oc,Mc,c[bd>>2]|0)}if(!(c[qc>>2]|0)){md=0;nd=0}else{bb(f,Sb,2,rc,(c[jb>>2]|0)-Zc|0,(c[hb>>2]|0)-Ic|0);md=Ic;nd=Zc}cb(f,Ob,rc,((c[jb>>2]|0)-nd<<3)-(nd<<1)|0,((c[hb>>2]|0)-md<<3)-(md<<1)|0);Mc=hc?3:0;do if((c[dd>>2]|0)<(Mc+2|0)){Oc=(c[qc>>2]|0)==0;od=(Vc&(Oc^1)&1)+md|0;pd=(Oc?0:Zc)+nd|0}else{Oc=nd+Zc|0;Rc=md+Ic|0;Lc=(c[jb>>2]|0)-Oc|0;k=(c[hb>>2]|0)-Rc|0;Kb=f+72+(rc<<5)|0;Dc=c[Kb>>2]|0;Gc=f+72+(rc<<5)+8|0;Cc=c[Gc>>2]|0;Ec=R(Dc,Lc)|0;Bc=Cc+Ec|0;zc=c[ed>>2]|0;yc=zc+(Bc<<2)|0;Ac=c[Hc>>2]|0;xc=Ac+Bc|0;Bc=(Lc|0)>0;wc=(c[Qc>>2]|0)>(k|0);Gb(yc+((Bc?Dc:0)<<2)|0,0,R(Dc<<2,k-Lc+(Bc<<31>>31)+(wc&1)|0)|0)|0;sc=(Bc&1)<<2|Lc<<3;Lc=f+54056+(rc<<4)+8|0;Bc=c[Lc>>2]|0;gc=c[f+236+(Ob*48|0)+(rc<<4)+8>>2]|0;Xb=f+54056+(rc<<4)+12|0;kc=c[Xb>>2]|0;pc=kc+(R(Bc,sc)|0)|0;vc=c[f+236+(Ob*48|0)+(rc<<4)+12>>2]|0;nc=vc+(R(gc,sc)|0)|0;Wb=f+54056+(rc<<4)|0;ac=c[Wb>>2]|0;if((sc|0)<4){Xa=Bc<<2;uc=pc;lc=nc;fc=sc;while(1){Hb(uc|0,lc|0,ac|0)|0;fc=fc+1|0;if((fc|0)==4)break;else{uc=uc+Bc|0;lc=lc+gc|0}}qd=kc+Xa|0;rd=vc+(gc<<2)|0;sd=4}else{qd=pc;rd=nc;sd=sc}lc=(wc^1)&1;uc=k-lc<<3;do if((sd|0)<(uc|0)){fc=0-gc|0;m=Bc<<3;Ub=gc<<3;Kc=0-(Bc<<2)|0;Jc=(k<<3)+-1-(lc<<3)-sd|0;if((ac|0)<=8){tc=Jc>>>3;oc=Cc+1+Ec+tc|0;cc=tc<<3;tc=cc+8|0;Jb=R(tc,Bc)|0;mc=xc;Qb=qd;$b=rd;Vb=yc;Lb=sd;while(1){kb=c[f+53528+(d[mc>>0]<<2)>>2]|0;db(Qb,Bc,$b+fc|0,gc,kb,kb*3>>2,Vb,Vb+(Dc<<2)|0);Lb=Lb+8|0;if((Lb|0)>=(uc|0))break;else{mc=mc+1|0;Qb=Qb+m|0;$b=$b+Ub|0;Vb=Vb+4|0}}td=Ac+oc|0;ud=qd+Jb|0;vd=rd+(R(tc,gc)|0)|0;wd=zc+(oc<<2)|0;xd=sd+8+cc|0;break}Vb=Jc&-8;$b=Vb+8|0;Qb=R($b,Bc)|0;mc=xc;Lb=qd;Fc=rd;kb=yc;Yb=sd;while(1){Zb=c[f+53528+(d[mc>>0]<<2)>>2]|0;db(Lb,Bc,Fc+fc|0,gc,Zb,Zb*3>>2,kb,kb+(Dc<<2)|0);yd=mc+1|0;Zb=kb;_b=kb+4|0;Eb=8;while(1){lb=c[f+53528+(d[yd>>0]<<2)>>2]|0;vb=lb*3>>2;xb=Lb+Eb|0;db(xb,Bc,Fc+Eb+fc|0,gc,lb,vb,_b,_b+(Dc<<2)|0);eb(xb+Kc+-4|0,Bc,lb,vb,Zb);Eb=Eb+8|0;zd=_b+4|0;yd=yd+1|0;if((Eb|0)>=(ac|0))break;else{vb=_b;_b=zd;Zb=vb}}Zb=Yb+8|0;if((Zb|0)<(uc|0)){mc=yd;Lb=Lb+m|0;Fc=Fc+Ub|0;kb=zd;Yb=Zb}else break}td=yd;ud=qd+Qb|0;vd=rd+(R($b,gc)|0)|0;wd=zd;xd=sd+8+Vb|0}else{td=xc;ud=qd;vd=rd;wd=yc;xd=sd}while(0);do if(!wc){yc=c[f+54056+(rc<<4)+4>>2]|0;if((yc|0)>(xd|0)){xc=yc-xd|0;uc=ud;Dc=vd;zc=xd;while(1){Hb(uc|0,Dc|0,ac|0)|0;zc=zc+1|0;if((zc|0)==(yc|0))break;else{uc=uc+Bc|0;Dc=Dc+gc|0}}Ad=ud+(R(xc,Bc)|0)|0}else Ad=ud;if((ac|0)<=8)break;Dc=0-(Bc<<3)|0;uc=td;yc=wd;zc=8;while(1){uc=uc+1|0;Vb=c[f+53528+(d[uc>>0]<<2)>>2]|0;eb(Ad+zc+Dc+-4|0,Bc,Vb,Vb*3>>2,yc);zc=zc+8|0;if((zc|0)>=(ac|0))break;else yc=yc+4|0}}while(0);if((c[dd>>2]|0)<(Mc+3|0)){od=Rc;pd=Oc;break}ac=Oc+Zc|0;Bc=Rc+Ic|0;gc=(c[jb>>2]|0)-ac|0;wc=c[Kb>>2]|0;yc=(c[Gc>>2]|0)+(R(wc,gc)|0)|0;zc=(c[Wc>>2]|0)<((hc?7:4)|0);Dc=hc?3840:1920;uc=gc<<3;gc=c[Lc>>2]|0;xc=(c[hb>>2]|0)-Bc<<3;Vb=c[Wb>>2]|0;$b=c[f+54056+(rc<<4)+4>>2]|0;if((uc|0)>=(xc|0)){od=Bc;pd=ac;break}Qb=(c[Xb>>2]|0)+(R(gc,uc)|0)|0;Ac=(Vb|0)>0;Ec=0-wc|0;Cc=gc<<3;lc=(c[dc>>2]|0)+(yc<<2)|0;k=Qb;Qb=(c[ed>>2]|0)+(yc<<2)|0;yc=uc;while(1){uc=yc;yc=yc+8|0;g:do if(Ac){sc=(uc|0)<1;nc=(yc|0)>=($b|0);pc=(nc&1)<<3|(sc&1)<<2;if(zc){vc=lc;Xa=Qb;kc=0;while(1){Yb=d[((c[vc>>2]|0)>>>2&15)+(f+875)>>0]|0;kb=c[Xa>>2]|0;Ub=kc;kc=kc+8|0;Fc=(Ub|0)<1|pc|((kc|0)>=(Vb|0)&1)<<1;do if((kb|0)>1536)fb(k+Ub|0,gc,Fc,c[f+53528+(Yb<<2)>>2]|0,c[f+53784+(Yb<<2)>>2]|0,1);else{if((kb|0)<=384)break;fb(k+Ub|0,gc,Fc,c[f+53528+(Yb<<2)>>2]|0,c[f+53784+(Yb<<2)>>2]|0,0)}while(0);Yb=vc+4|0;Fc=Xa+4|0;if((kc|0)>=(Vb|0)){Bd=Yb;Cd=Fc;break g}else{vc=Yb;Xa=Fc}}}if(hc){Xa=lc;vc=Qb;kc=0;while(1){Fc=d[((c[Xa>>2]|0)>>>2&15)+(f+875)>>0]|0;Yb=c[vc>>2]|0;Ub=kc;kc=kc+8|0;kb=(Ub|0)<1|pc|((kc|0)>=(Vb|0)&1)<<1;do if((Yb|0)>(Dc|0)){m=k+Ub|0;Lb=f+53528+(Fc<<2)|0;mc=f+53784+(Fc<<2)|0;fb(m,gc,kb,c[Lb>>2]|0,c[mc>>2]|0,1);fb(m,gc,kb,c[Lb>>2]|0,c[mc>>2]|0,1);fb(m,gc,kb,c[Lb>>2]|0,c[mc>>2]|0,1)}else{if((Yb|0)>1536){fb(k+Ub|0,gc,kb,c[f+53528+(Fc<<2)>>2]|0,c[f+53784+(Fc<<2)>>2]|0,1);break}if((Yb|0)<=384)break;fb(k+Ub|0,gc,kb,c[f+53528+(Fc<<2)>>2]|0,c[f+53784+(Fc<<2)>>2]|0,0)}while(0);Fc=Xa+4|0;kb=vc+4|0;if((kc|0)>=(Vb|0)){Bd=Fc;Cd=kb;break g}else{Xa=Fc;vc=kb}}}else{Dd=lc;Ed=Qb;Fd=0}while(1){vc=d[((c[Dd>>2]|0)>>>2&15)+(f+875)>>0]|0;Xa=c[Ed>>2]|0;kc=(Fd|0)<1;kb=Fd;Fd=Fd+8|0;Fc=(Fd|0)>=(Vb|0);Ub=kc&1|pc|(Fc&1)<<1;h:do if((Xa|0)>(Dc|0)){Yb=k+kb|0;mc=f+53528+(vc<<2)|0;Lb=f+53784+(vc<<2)|0;fb(Yb,gc,Ub,c[mc>>2]|0,c[Lb>>2]|0,1);if(!(!kc?(c[Ed+-4>>2]|0)>3840:0))Ja=315;do if((Ja|0)==315){Ja=0;if(!Fc?(c[Ed+4>>2]|0)>3840:0)break;if(!sc?(c[Ed+(Ec<<2)>>2]|0)>3840:0)break;if(nc)break h;if((c[Ed+(wc<<2)>>2]|0)<=3840)break h}while(0);fb(Yb,gc,Ub,c[mc>>2]|0,c[Lb>>2]|0,1);fb(Yb,gc,Ub,c[mc>>2]|0,c[Lb>>2]|0,1)}else{if((Xa|0)>1536){fb(k+kb|0,gc,Ub,c[f+53528+(vc<<2)>>2]|0,c[f+53784+(vc<<2)>>2]|0,1);break}if((Xa|0)<=384)break;fb(k+kb|0,gc,Ub,c[f+53528+(vc<<2)>>2]|0,c[f+53784+(vc<<2)>>2]|0,0)}while(0);vc=Dd+4|0;Ub=Ed+4|0;if((Fd|0)>=(Vb|0)){Bd=vc;Cd=Ub;break}else{Dd=vc;Ed=Ub}}}else{Bd=lc;Cd=Qb}while(0);if((yc|0)>=(xc|0)){od=Bc;pd=ac;break}else{lc=Bd;k=k+Cc|0;Qb=Cd}}}while(0);hc=(c[jb>>2]|0)-pd<<jc;h=(hc|0)<(h|0)?hc:h;hc=(c[hb>>2]|0)-od<<jc;ic=(hc|0)<(ic|0)?hc:ic;rc=rc+1|0}while((rc|0)!=3);rc=c[$c>>2]|0;if(rc|0){Ic=c[cd>>2]|0;ha[rc&7](c[_c>>2]|0,n,Ic-ic|0,Ic-h|0)}Ic=c[Tc>>2]|0;if(Vc){Yc=Ic;Zc=1;Xc=Ic+Xc|0}else break}gb(f,Ob,0);gb(f,Ob,1);gb(f,Ob,2);Ob=(a[r>>0]|0)==0;r=c[Mb>>2]|0;c[s>>2]=r;s=c[ib>>2]|0;if(Ob){c[Wa>>2]=r;c[ad>>2]=s;Gd=0}else Gd=1;c[f+548+(Gd<<2)>>2]=s;o=0;l=i;return o|0}function Ya(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=a+4|0;g=a+8|0;h=c[a>>2]|0;i=a+12|0;a=c[i>>2]|0;j=0;k=c[f>>2]|0;l=c[g>>2]|0;while(1){m=b[e+(j<<1)>>1]|0;if((m|0)>(a|0)){n=k;o=32-a|0;p=l;while(1){if(n>>>0>=h>>>0){q=n;r=-1073741824;s=p;break}t=o+-8|0;u=n+1|0;v=d[n>>0]<<t|p;if(t>>>0>7){n=u;o=t;p=v}else{q=u;r=t;s=v;break}}w=32-r|0;x=q;y=s}else{w=a;x=k;y=l}p=b[e+(j+1+(y>>>(32-m|0))<<1)>>1]|0;z=p<<16>>16;if(p<<16>>16<1)break;a=w-m|0;j=z;k=x;l=y<<m}l=0-z|0;z=l>>8;c[f>>2]=x;c[g>>2]=y<<z;c[i>>2]=w-z;return l&255|0}function Za(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;Gb(b|0,0,256)|0;if((c|0)>0)d=0;else return;do{e=127-d|0;f=e-c|0;if((f|0)>-1)a[b+f>>0]=d-c;a[b+e>>0]=0-d;e=d+127|0;a[b+e>>0]=d;f=e+c|0;if((f|0)<256)a[b+f>>0]=c-d;d=d+1|0}while((d|0)!=(c|0));return}function _a(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=c[b+2936+(d<<2)>>2]|0;f=c[b+2948+(d<<2)>>2]|0;g=c[a+72+(d<<5)>>2]|0;h=c[a+168>>2]|0;if((f|0)<=(e|0)){i=0;j=b+2840+(d<<2)|0;c[j>>2]=i;k=f-e|0;l=R(k,g)|0;m=l-i|0;n=b+2852+(d<<2)|0;c[n>>2]=m;return}o=h+(0-g<<2)|0;p=(g|0)>0;q=(c[a+72+(d<<5)+8>>2]|0)+(R(g,e)|0)|0;a=e;r=0;while(1){if(!a)if(p){s=q;t=0;u=r;while(1){v=h+(s<<2)|0;w=c[v>>2]|0;if(!(w&1))x=u;else{y=b+2960+(d<<4)+((w>>>6&3)<<2)|0;z=(c[y>>2]<<16)+w|0;c[v>>2]=z;c[y>>2]=z>>16;x=u+1|0}t=t+1|0;if((t|0)==(g|0))break;else{s=s+1|0;u=x}}A=g+q|0;B=x}else{A=q;B=r}else if(p){u=q;s=0;t=-1;z=r;y=(c[o+(q<<2)>>2]|0)>>>6&3;v=-1;while(1){s=s+1|0;if((s|0)<(g|0))C=(c[o+(u+1<<2)>>2]|0)>>>6&3;else C=-1;w=h+(u<<2)|0;D=c[w>>2]|0;if(!(D&1)){E=-1;F=z}else{G=D>>>6&3;do switch((((v|0)==(G|0)&1)<<1|(t|0)==(G|0)|((y|0)==(G|0)&1)<<2|((C|0)==(G|0)&1)<<3)&15){case 3:case 1:{H=c[h+(u+-1<<2)>>2]>>16;break}case 2:{H=c[o+(u+-1<<2)>>2]>>16;break}case 12:case 6:case 4:{H=c[o+(u<<2)>>2]>>16;break}case 5:{H=((c[o+(u<<2)>>2]>>16)+(c[h+(u+-1<<2)>>2]>>16)|0)/2|0;break}case 8:{H=c[o+(u+1<<2)>>2]>>16;break}case 13:case 11:case 9:{H=(((c[o+(u+1<<2)>>2]>>16)*53|0)+((c[h+(u+-1<<2)>>2]>>16)*75|0)|0)/128|0;break}case 10:{H=((c[o+(u+1<<2)>>2]>>16)+(c[o+(u+-1<<2)>>2]>>16)|0)/2|0;break}case 14:{H=((((c[o+(u+1<<2)>>2]>>16)+(c[o+(u+-1<<2)>>2]>>16)|0)*3|0)+((c[o+(u<<2)>>2]>>16)*10|0)|0)/16|0;break}case 15:case 7:{I=u+-1|0;J=c[h+(I<<2)>>2]>>16;K=c[o+(I<<2)>>2]>>16;I=c[o+(u<<2)>>2]>>16;L=(((I+J|0)*29|0)+(R(K,-26)|0)|0)/32|0;M=L-I|0;if((((M|0)>-1?M:0-M|0)|0)>128)H=I;else{I=L-J|0;M=L-K|0;H=(((I|0)>-1?I:0-I|0)|0)>128?J:(((M|0)>-1?M:0-M|0)|0)>128?K:L}break}default:H=c[b+2960+(d<<4)+(G<<2)>>2]|0}while(0);L=D+(H<<16)|0;c[w>>2]=L;c[b+2960+(d<<4)+(G<<2)>>2]=L>>16;E=G;F=z+1|0}if((s|0)==(g|0))break;else{L=y;u=u+1|0;t=E;z=F;y=C;v=L}}A=g+q|0;B=F}else{A=q;B=r}a=a+1|0;if((a|0)==(f|0)){i=B;break}else{q=A;r=B}}j=b+2840+(d<<2)|0;c[j>>2]=i;k=f-e|0;l=R(k,g)|0;m=l-i|0;n=b+2852+(d<<2)|0;c[n>>2]=m;return}function $a(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=R(b[g>>1]|0,i&65535)|0;if((h|0)<2){i=(j+15|0)>>>5&65535;k=0;do{b[g+(k+64<<1)>>1]=i;k=k+1|0}while((k|0)!=64)}else{b[g>>1]=j;hb(g+128|0,g,h)}h=c[(c[d+172>>2]|0)+(e<<2)>>2]|0;j=(c[(c[d+168>>2]|0)+(e<<2)>>2]|0)>>>6&3;k=c[d+576+(f<<2)>>2]|0;i=(c[d+556>>2]|0)+h|0;if((j|0)==2){ib(i,k,g+128|0);return}l=(c[d+548+(j<<2)>>2]|0)+h|0;h=b[(c[d+176>>2]|0)+(e<<1)>>1]|0;e=(f|0)!=0;if(e)m=(c[d+48>>2]&2|0)==0;else m=0;f=m&1;m=(h<<16>>16>>8)+31|0;j=a[1827+(f<<6)+m>>0]|0;if(e)n=(c[d+48>>2]&1|0)==0;else n=0;d=n&1;n=((h&65535)<<24>>24)+31|0;h=a[1827+(d<<6)+n>>0]|0;e=(a[1699+(d<<6)+n>>0]|0)+(R(a[1699+(f<<6)+m>>0]|0,k)|0)|0;m=l+e|0;if(!((h|j)<<24>>24)){kb(i,m,k,g+128|0);return}else{jb(i,m,l+(e+(R(j<<24>>24,k)|0)+(h<<24>>24))|0,k,g+128|0);return}}function ab(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)>0)j=0;else return;do{k=c[i+(c[g+(j<<2)>>2]<<2)>>2]|0;l=b+k|0;m=e+k|0;k=m;n=k;o=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=k+4|0;k=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=l;p=n;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;o=n+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;k=l+f|0;l=m+f|0;m=l;o=m;n=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=m+4|0;m=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=k;p=o;a[p>>0]=n;a[p+1>>0]=n>>8;a[p+2>>0]=n>>16;a[p+3>>0]=n>>24;n=o+4|0;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;m=k+f|0;k=l+f|0;l=k;n=l;o=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=l+4|0;l=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=m;p=n;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;o=n+4|0;a[o>>0]=l;a[o+1>>0]=l>>8;a[o+2>>0]=l>>16;a[o+3>>0]=l>>24;l=m+f|0;m=k+f|0;k=m;o=k;n=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=k+4|0;k=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=l;p=o;a[p>>0]=n;a[p+1>>0]=n>>8;a[p+2>>0]=n>>16;a[p+3>>0]=n>>24;n=o+4|0;a[n>>0]=k;a[n+1>>0]=k>>8;a[n+2>>0]=k>>16;a[n+3>>0]=k>>24;k=l+f|0;l=m+f|0;m=l;n=m;o=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=m+4|0;m=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=k;p=n;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;o=n+4|0;a[o>>0]=m;a[o+1>>0]=m>>8;a[o+2>>0]=m>>16;a[o+3>>0]=m>>24;m=k+f|0;k=l+f|0;l=k;o=l;n=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=l+4|0;l=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;o=m;p=o;a[p>>0]=n;a[p+1>>0]=n>>8;a[p+2>>0]=n>>16;a[p+3>>0]=n>>24;n=o+4|0;a[n>>0]=l;a[n+1>>0]=l>>8;a[n+2>>0]=l>>16;a[n+3>>0]=l>>24;l=m+f|0;m=k+f|0;k=m;n=k;o=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=k+4|0;k=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;n=l;p=n;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;o=n+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;k=m+f|0;m=k;o=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=k+4|0;k=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=l+f|0;l=m;a[l>>0]=o;a[l+1>>0]=o>>8;a[l+2>>0]=o>>16;a[l+3>>0]=o>>24;o=m+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;j=j+1|0}while((j|0)!=(h|0));return}function bb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=e+127|0;e=c[b+72+(g<<5)>>2]|0;k=c[b+72+(g<<5)+8>>2]|0;l=(c[b+72+(g<<5)+12>>2]|0)+k|0;m=k+(R(e,h)|0)|0;h=k+(R(e,i)|0)|0;i=c[b+576+(g<<2)>>2]|0;g=c[b+168>>2]|0;n=c[b+172>>2]|0;o=c[b+548+(f<<2)>>2]|0;if((m|0)>=(h|0))return;f=i<<1;b=0-f|0;p=i*3|0;q=i<<3;r=(e|0)>0;s=m;do{m=s;s=s+e|0;if(r){t=(m|0)>(k|0);u=m;while(1){if(c[g+(u<<2)>>2]&1){v=o+(c[n+(u<<2)>>2]|0)|0;if((u|0)>(m|0)){w=v+-2|0;x=0;while(1){y=w+2|0;z=d[y>>0]|0;A=w+1|0;B=d[A>>0]|0;C=a[j+((d[w>>0]|0)+4-(d[w+3>>0]|0)+((z-B|0)*3|0)>>3)>>0]|0;D=C+B|0;a[A>>0]=(D>>>31)+255&((D|0)<255?D:255);D=z-C|0;a[y>>0]=(D>>>31)+255&((D|0)<255?D:255);x=x+1|0;if((x|0)==8)break;else w=w+i|0}}if(t){w=v+b|0;x=0;do{D=w+(x+f)|0;y=w+(x+i)|0;C=d[y>>0]|0;z=a[j+((d[w+x>>0]|0)+4-(d[w+(x+p)>>0]|0)+(((d[D>>0]|0)-C|0)*3|0)>>3)>>0]|0;A=z+C|0;a[y>>0]=(A>>>31)+255&((A|0)<255?A:255);A=(d[D>>0]|0)-z|0;a[D>>0]=(A>>>31)+255&((A|0)<255?A:255);x=x+1|0}while((x|0)!=8)}x=u+1|0;if((x|0)<(s|0)?(c[g+(x<<2)>>2]&1|0)==0:0){w=v+8+-2|0;A=0;while(1){D=w+2|0;z=d[D>>0]|0;y=w+1|0;C=d[y>>0]|0;B=a[j+((d[w>>0]|0)+4-(d[w+3>>0]|0)+((z-C|0)*3|0)>>3)>>0]|0;E=B+C|0;a[y>>0]=(E>>>31)+255&((E|0)<255?E:255);E=z-B|0;a[D>>0]=(E>>>31)+255&((E|0)<255?E:255);A=A+1|0;if((A|0)==8)break;else w=w+i|0}}w=u+e|0;if((w|0)<(l|0)?(c[g+(w<<2)>>2]&1|0)==0:0){w=v+q+b|0;A=0;do{E=w+(A+f)|0;D=w+(A+i)|0;B=d[D>>0]|0;z=a[j+((d[w+A>>0]|0)+4-(d[w+(A+p)>>0]|0)+(((d[E>>0]|0)-B|0)*3|0)>>3)>>0]|0;y=z+B|0;a[D>>0]=(y>>>31)+255&((y|0)<255?y:255);y=(d[E>>0]|0)-z|0;a[E>>0]=(y>>>31)+255&((y|0)<255?y:255);A=A+1|0}while((A|0)!=8);F=x}else F=x}else F=u+1|0;if((F|0)<(s|0))u=F;else break}}}while((s|0)<(h|0));return}function cb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(!e)h=0;else h=(c[b+48>>2]&1|0)==0;i=16>>>(h&1);h=c[b+236+(d*48|0)+(e<<4)+8>>2]|0;j=c[b+236+(d*48|0)+(e<<4)+12>>2]|0;k=R(h,f)|0;f=j+k|0;l=R(h,g)|0;g=j+l|0;if((k|0)==(l|0))return;l=0-i|0;k=f;j=f+(c[b+236+(d*48|0)+(e<<4)>>2]|0)+-1|0;while(1){Gb(k+l|0,a[k>>0]|0,i|0)|0;Gb(j+1|0,a[j>>0]|0,i|0)|0;k=k+h|0;if((k|0)==(g|0))break;else j=j+h|0}return}function db(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;m=l;l=l+48|0;n=m;o=n+20|0;p=n+16|0;q=n+4|0;r=n+8|0;s=n+12|0;t=n+24|0;u=n+28|0;v=n+32|0;w=n+36|0;x=0;y=b+(e*6|0)|0;z=b;b=f;while(1){f=d[b>>0]|0;c[n>>2]=f;A=b+g|0;B=a[A>>0]|0;C=B&255;c[q>>2]=C;D=A+g|0;A=d[D>>0]|0;c[r>>2]=A;E=D+g|0;D=d[E>>0]|0;c[s>>2]=D;F=E+g|0;E=d[F>>0]|0;c[p>>2]=E;G=F+g|0;F=d[G>>0]|0;c[o>>2]=F;H=G+g|0;G=d[H>>0]|0;c[t>>2]=G;I=H+g|0;H=d[I>>0]|0;c[u>>2]=H;J=I+g|0;I=d[J>>0]|0;c[v>>2]=I;K=d[J+g>>0]|0;c[w>>2]=K;J=C-f|0;L=F-G|0;M=A-C|0;N=G-H|0;G=D-A|0;O=H-I|0;H=E-D|0;P=((H|0)>-1?H:0-H|0)+(((G|0)>-1?G:0-G|0)+(((M|0)>-1?M:0-M|0)+((J|0)>-1?J:0-J|0)))|0;J=I-K|0;K=((J|0)>-1?J:0-J|0)+(((O|0)>-1?O:0-O|0)+(((N|0)>-1?N:0-N|0)+((L|0)>-1?L:0-L|0)))|0;c[j>>2]=(c[j>>2]|0)+((P|0)<255?P:255);c[k>>2]=(c[k>>2]|0)+((K|0)<255?K:255);if((P|0)<(i|0)&(K|0)<(i|0)?(F-E|0)<(h|0)&(E-F|0)<(h|0):0){a[z>>0]=(E+4+(f*3|0)+(C<<1)+A+D|0)>>>3;D=z+e|0;a[D>>0]=((c[s>>2]|0)+(c[q>>2]|0)+(c[p>>2]|0)+((c[r>>2]|0)+(c[n>>2]|0)<<1)+4+(c[o>>2]|0)|0)>>>3;A=D+e|0;a[A>>0]=((c[q>>2]|0)+(c[n>>2]|0)+(c[r>>2]|0)+(c[s>>2]<<1)+(c[p>>2]|0)+(c[o>>2]|0)+4+(c[t>>2]|0)|0)>>>3;D=A+e|0;a[D>>0]=((c[r>>2]|0)+(c[q>>2]|0)+(c[s>>2]|0)+(c[p>>2]<<1)+(c[o>>2]|0)+(c[t>>2]|0)+4+(c[u>>2]|0)|0)>>>3;A=D+e|0;a[A>>0]=((c[s>>2]|0)+(c[r>>2]|0)+(c[p>>2]|0)+(c[o>>2]<<1)+(c[t>>2]|0)+(c[u>>2]|0)+4+(c[v>>2]|0)|0)>>>3;a[A+e>>0]=((c[p>>2]|0)+(c[s>>2]|0)+(c[o>>2]|0)+(c[t>>2]<<1)+(c[u>>2]|0)+(c[v>>2]|0)+4+(c[w>>2]|0)|0)>>>3;a[y>>0]=((c[p>>2]|0)+4+(c[o>>2]|0)+(c[t>>2]|0)+(c[v>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<1)|0)>>>3;Q=((c[o>>2]|0)+4+(c[t>>2]|0)+(c[u>>2]|0)+(c[v>>2]<<1)+((c[w>>2]|0)*3|0)|0)>>>3;R=y}else{a[z>>0]=B;B=z+e|0;a[B>>0]=c[r>>2];A=B+e|0;a[A>>0]=c[s>>2];B=A+e|0;a[B>>0]=c[p>>2];A=B+e|0;a[A>>0]=c[o>>2];B=A+e|0;a[B>>0]=c[t>>2];A=B+e|0;a[A>>0]=c[u>>2];Q=c[v>>2]|0;R=A}a[R+e>>0]=Q;x=x+1|0;if((x|0)==8)break;else{y=y+1|0;z=z+1|0;b=b+1|0}}l=m;return}function eb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=l;l=l+48|0;j=i;k=h+4|0;m=j+20|0;n=j+16|0;o=j+4|0;p=j+8|0;q=j+12|0;r=j+24|0;s=j+28|0;t=j+32|0;u=j+36|0;v=0;w=b;x=b+5|0;y=b+6|0;while(1){b=d[w+-1>>0]|0;c[j>>2]=b;z=d[w>>0]|0;c[o>>2]=z;A=d[w+1>>0]|0;c[p>>2]=A;B=d[w+2>>0]|0;c[q>>2]=B;C=d[w+3>>0]|0;c[n>>2]=C;D=d[w+4>>0]|0;c[m>>2]=D;E=d[w+5>>0]|0;c[r>>2]=E;F=d[w+6>>0]|0;c[s>>2]=F;G=d[w+7>>0]|0;c[t>>2]=G;H=d[w+8>>0]|0;c[u>>2]=H;I=z-b|0;J=D-E|0;K=A-z|0;L=E-F|0;E=B-A|0;M=F-G|0;F=C-B|0;N=((F|0)>-1?F:0-F|0)+(((E|0)>-1?E:0-E|0)+(((K|0)>-1?K:0-K|0)+((I|0)>-1?I:0-I|0)))|0;I=G-H|0;H=((I|0)>-1?I:0-I|0)+(((M|0)>-1?M:0-M|0)+(((L|0)>-1?L:0-L|0)+((J|0)>-1?J:0-J|0)))|0;c[h>>2]=(c[h>>2]|0)+((N|0)<255?N:255);c[k>>2]=(c[k>>2]|0)+((H|0)<255?H:255);if((N|0)<(g|0)&(H|0)<(g|0)?(D-C|0)<(f|0)&(C-D|0)<(f|0):0){a[w>>0]=(C+4+(b*3|0)+(z<<1)+A+B|0)>>>3;a[w+1>>0]=((c[q>>2]|0)+(c[o>>2]|0)+(c[n>>2]|0)+((c[p>>2]|0)+(c[j>>2]|0)<<1)+(c[m>>2]|0)+4|0)>>>3;a[w+2>>0]=((c[o>>2]|0)+(c[j>>2]|0)+(c[p>>2]|0)+(c[q>>2]<<1)+(c[n>>2]|0)+(c[m>>2]|0)+(c[r>>2]|0)+4|0)>>>3;a[w+3>>0]=((c[p>>2]|0)+(c[o>>2]|0)+(c[q>>2]|0)+(c[n>>2]<<1)+(c[m>>2]|0)+(c[r>>2]|0)+(c[s>>2]|0)+4|0)>>>3;a[w+4>>0]=((c[q>>2]|0)+(c[p>>2]|0)+(c[n>>2]|0)+(c[m>>2]<<1)+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]|0)+4|0)>>>3;a[w+5>>0]=((c[n>>2]|0)+(c[q>>2]|0)+(c[m>>2]|0)+(c[r>>2]<<1)+(c[s>>2]|0)+(c[t>>2]|0)+(c[u>>2]|0)+4|0)>>>3;a[y>>0]=((c[n>>2]|0)+4+(c[m>>2]|0)+(c[r>>2]|0)+(c[t>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<1)|0)>>>3;a[x+2>>0]=((c[m>>2]|0)+4+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]<<1)+((c[u>>2]|0)*3|0)|0)>>>3}v=v+1|0;if((v|0)==8)break;else{w=w+e|0;x=x+e|0;y=y+e|0}}l=i;return}function fb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=l;l=l+576|0;k=j+288|0;m=j;n=g*3|0;o=d[1695+i>>0]|0;p=(o|0)<(n|0)?o:n;n=b+(0-(0-(f>>>2&1^1)&e))|0;o=g+32|0;g=1697+i|0;i=d[g>>0]|0;q=f>>>3&1^1;r=0;s=n;t=b;while(1){u=r<<3;v=(d[t>>0]|0)-(d[s>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+(u<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+1>>0]|0)-(d[s+1>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|1)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+2>>0]|0)-(d[s+2>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|2)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+3>>0]|0)-(d[s+3>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|3)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+4>>0]|0)-(d[s+4>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|4)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+5>>0]|0)-(d[s+5>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|5)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+6>>0]|0)-(d[s+6>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|6)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=(d[t+7>>0]|0)-(d[s+7>>0]|0)|0;w=o-(((v|0)>-1?v:0-v|0)<<i)|0;v=(p|0)<(w|0)?p:w;c[k+((u|7)<<2)>>2]=(w|0)<-64?h:(v|0)>0?v:0;v=t+(0-((r|0)<7|q)&e)|0;r=r+1|0;if((r|0)==9)break;else{w=t;t=v;s=w}}s=0-(f&1^1)|0;t=d[g>>0]|0;g=f>>>1&1;f=g^1;r=0;i=b;w=b+s|0;while(1){v=r<<3;u=(d[i>>0]|0)-(d[w>>0]|0)|0;x=o-(((u|0)>-1?u:0-u|0)<<t)|0;u=(p|0)<(x|0)?p:x;c[m+(v<<2)>>2]=(x|0)<-64?h:(u|0)>0?u:0;u=w+e|0;x=i+e|0;y=(d[x>>0]|0)-(d[u>>0]|0)|0;z=o-(((y|0)>-1?y:0-y|0)<<t)|0;y=(p|0)<(z|0)?p:z;c[m+((v|1)<<2)>>2]=(z|0)<-64?h:(y|0)>0?y:0;y=u+e|0;u=x+e|0;x=(d[u>>0]|0)-(d[y>>0]|0)|0;z=o-(((x|0)>-1?x:0-x|0)<<t)|0;x=(p|0)<(z|0)?p:z;c[m+((v|2)<<2)>>2]=(z|0)<-64?h:(x|0)>0?x:0;x=y+e|0;y=u+e|0;u=(d[y>>0]|0)-(d[x>>0]|0)|0;z=o-(((u|0)>-1?u:0-u|0)<<t)|0;u=(p|0)<(z|0)?p:z;c[m+((v|3)<<2)>>2]=(z|0)<-64?h:(u|0)>0?u:0;u=x+e|0;x=y+e|0;y=(d[x>>0]|0)-(d[u>>0]|0)|0;z=o-(((y|0)>-1?y:0-y|0)<<t)|0;y=(p|0)<(z|0)?p:z;c[m+((v|4)<<2)>>2]=(z|0)<-64?h:(y|0)>0?y:0;y=u+e|0;u=x+e|0;x=(d[u>>0]|0)-(d[y>>0]|0)|0;z=o-(((x|0)>-1?x:0-x|0)<<t)|0;x=(p|0)<(z|0)?p:z;c[m+((v|5)<<2)>>2]=(z|0)<-64?h:(x|0)>0?x:0;x=y+e|0;y=u+e|0;u=(d[y>>0]|0)-(d[x>>0]|0)|0;z=o-(((u|0)>-1?u:0-u|0)<<t)|0;u=(p|0)<(z|0)?p:z;c[m+((v|6)<<2)>>2]=(z|0)<-64?h:(u|0)>0?u:0;u=(d[y+e>>0]|0)-(d[x+e>>0]|0)|0;x=o-(((u|0)>-1?u:0-u|0)<<t)|0;u=(p|0)<(x|0)?p:x;c[m+((v|7)<<2)>>2]=(x|0)<-64?h:(u|0)>0?u:0;u=i+((r|0)<7|f)|0;r=r+1|0;if((r|0)==9)break;else{x=i;i=u;w=x}}w=8-g|0;g=0;i=b;r=b+e|0;f=n;n=b;while(1){b=c[m+(g<<2)>>2]|0;h=(R(d[n+s>>0]|0,b)|0)+64|0;p=g<<3;t=c[k+(p<<2)>>2]|0;o=h+(R(d[f>>0]|0,t)|0)|0;h=g;g=g+1|0;x=g<<3;u=c[k+(x<<2)>>2]|0;v=o+(R(d[r>>0]|0,u)|0)|0;o=c[m+(h+8<<2)>>2]|0;y=v+(R(d[n+1>>0]|0,o)|0)|0;v=y+(R(d[n>>0]|0,128-b-t-u-o|0)|0)>>7;a[i>>0]=(v>>>31)+255&((v|0)<255?v:255);v=1;do{o=c[m+((v<<3)+h<<2)>>2]|0;u=(R(d[n+(v+-1)>>0]|0,o)|0)+64|0;t=c[k+(v+p<<2)>>2]|0;b=u+(R(d[f+v>>0]|0,t)|0)|0;u=c[k+(v+x<<2)>>2]|0;y=b+(R(d[r+v>>0]|0,u)|0)|0;b=v;v=v+1|0;z=c[m+((v<<3)+h<<2)>>2]|0;A=y+(R(d[n+v>>0]|0,z)|0)|0;y=A+(R(d[n+b>>0]|0,128-o-t-u-z|0)|0)>>7;a[i+b>>0]=(y>>>31)+255&((y|0)<255?y:255)}while((v|0)!=7);v=c[m+(h+56<<2)>>2]|0;y=(R(d[n+6>>0]|0,v)|0)+64|0;b=c[k+((p|7)<<2)>>2]|0;z=y+(R(d[f+7>>0]|0,b)|0)|0;y=c[k+((x|7)<<2)>>2]|0;u=z+(R(d[r+7>>0]|0,y)|0)|0;z=c[m+(h+64<<2)>>2]|0;t=u+(R(d[n+w>>0]|0,z)|0)|0;u=t+(R(d[n+7>>0]|0,128-v-b-y-z|0)|0)>>7;a[i+7>>0]=(u>>>31)+255&((u|0)<255?u:255);u=r+(0-((h|0)<6|q)&e)|0;if((g|0)==8)break;else{z=r;y=n;i=i+e|0;r=u;n=z;f=y}}l=j;return}function gb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!d){e=0;f=16}else{g=c[a+48>>2]|0;e=(g&2|0)==0;f=16>>>(g&1^1)}g=c[a+236+(b*48|0)+(d<<4)+8>>2]|0;h=(c[a+236+(b*48|0)+(d<<4)>>2]|0)+(f<<1)|0;i=c[a+236+(b*48|0)+(d<<4)+12>>2]|0;j=0-f|0;f=i+j|0;k=0-g|0;l=R(16>>>(e&1),k)|0;e=f+l|0;if(!l)return;l=f;f=i+(R((c[a+236+(b*48|0)+(d<<4)+4>>2]|0)+-1|0,g)|0)+j|0;do{j=l;l=l+k|0;Hb(l|0,j|0,h|0)|0;j=f;f=f+g|0;Hb(f|0,j|0,h|0)|0}while((l|0)!=(e|0));return}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=l;l=l+128|0;f=e;if((d|0)<4){g=c+2|0;h=(b[c>>1]|0)*46341>>16;i=b[g>>1]|0;j=i*12785>>16;k=i*64277>>16;i=j*46341>>16;m=k*46341>>16;n=m+i|0;o=m-i|0;b[f>>1]=k+h;b[f+16>>1]=n+h;b[f+32>>1]=o+h;b[f+48>>1]=j+h;b[f+64>>1]=h-j;b[f+80>>1]=h-o;b[f+96>>1]=h-n;b[f+112>>1]=h-k;k=c+16|0;h=((b[k>>1]|0)*46341|0)>>>16&65535;b[f+114>>1]=h;b[f+98>>1]=h;b[f+82>>1]=h;b[f+66>>1]=h;b[f+50>>1]=h;b[f+34>>1]=h;b[f+18>>1]=h;b[f+2>>1]=h;h=0;do{n=a+(h<<1)|0;o=f+(h<<3<<1)|0;j=(b[o>>1]|0)*46341>>16;i=b[o+2>>1]|0;o=i*12785>>16;m=i*64277>>16;i=o*46341>>16;p=m*46341>>16;q=p+i|0;r=p-i|0;b[n>>1]=m+j;b[n+16>>1]=q+j;b[n+32>>1]=r+j;b[n+48>>1]=o+j;b[n+64>>1]=j-o;b[n+80>>1]=j-r;b[n+96>>1]=j-q;b[n+112>>1]=j-m;h=h+1|0}while((h|0)!=8);s=0;do{h=a+(s<<1)|0;b[h>>1]=((b[h>>1]|0)+8|0)>>>4;s=s+1|0}while((s|0)!=64);b[k>>1]=0;b[g>>1]=0;b[c>>1]=0;l=e;return}if((d|0)>=11){lb(f,c);lb(f+2|0,c+16|0);lb(f+4|0,c+32|0);lb(f+6|0,c+48|0);lb(f+8|0,c+64|0);lb(f+10|0,c+80|0);lb(f+12|0,c+96|0);lb(f+14|0,c+112|0);lb(a,f);lb(a+2|0,f+16|0);lb(a+4|0,f+32|0);lb(a+6|0,f+48|0);lb(a+8|0,f+64|0);lb(a+10|0,f+80|0);lb(a+12|0,f+96|0);lb(a+14|0,f+112|0);d=0;do{g=a+(d<<1)|0;b[g>>1]=((b[g>>1]|0)+8|0)>>>4;d=d+1|0}while((d|0)!=64);d=c;g=d+128|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(g|0));l=e;return}d=(b[c>>1]|0)*46341>>16;g=b[c+4>>1]|0;k=g*25080>>16;s=g*60547>>16;g=b[c+2>>1]|0;h=g*12785>>16;m=b[c+6>>1]|0;j=m*36410>>16;n=m*54491>>16;m=g*64277>>16;g=h-j|0;q=(j+h<<16>>16)*46341>>16;h=n+m|0;j=(m-n<<16>>16)*46341>>16;n=k+d|0;m=d-k|0;k=s+d|0;r=d-s|0;s=j+q|0;d=j-q|0;b[f>>1]=h+k;b[f+16>>1]=s+n;b[f+32>>1]=d+m;b[f+48>>1]=g+r;b[f+64>>1]=r-g;b[f+80>>1]=m-d;b[f+96>>1]=n-s;b[f+112>>1]=k-h;h=c+16|0;k=c+18|0;s=c+20|0;n=(b[h>>1]|0)*46341>>16;d=b[s>>1]|0;m=d*25080>>16;g=d*60547>>16;d=b[k>>1]|0;r=d*12785>>16;q=d*64277>>16;d=r*46341>>16;j=q*46341>>16;o=m+n|0;i=n-m|0;m=g+n|0;p=n-g|0;g=j+d|0;n=j-d|0;b[f+2>>1]=m+q;b[f+18>>1]=g+o;b[f+34>>1]=n+i;b[f+50>>1]=p+r;b[f+66>>1]=p-r;b[f+82>>1]=i-n;b[f+98>>1]=o-g;b[f+114>>1]=m-q;q=c+32|0;m=c+34|0;g=(b[q>>1]|0)*46341>>16;o=b[m>>1]|0;n=o*12785>>16;i=o*64277>>16;o=n*46341>>16;r=i*46341>>16;p=r+o|0;d=r-o|0;b[f+4>>1]=i+g;b[f+20>>1]=p+g;b[f+36>>1]=d+g;b[f+52>>1]=n+g;b[f+68>>1]=g-n;b[f+84>>1]=g-d;b[f+100>>1]=g-p;b[f+116>>1]=g-i;i=c+48|0;g=((b[i>>1]|0)*46341|0)>>>16&65535;b[f+118>>1]=g;b[f+102>>1]=g;b[f+86>>1]=g;b[f+70>>1]=g;b[f+54>>1]=g;b[f+38>>1]=g;b[f+22>>1]=g;b[f+6>>1]=g;g=0;do{p=a+(g<<1)|0;d=f+(g<<3<<1)|0;n=(b[d>>1]|0)*46341>>16;o=b[d+4>>1]|0;r=o*25080>>16;j=o*60547>>16;o=b[d+2>>1]|0;t=o*12785>>16;u=b[d+6>>1]|0;d=u*36410>>16;v=u*54491>>16;u=o*64277>>16;o=t-d|0;w=(d+t<<16>>16)*46341>>16;t=v+u|0;d=(u-v<<16>>16)*46341>>16;v=r+n|0;u=n-r|0;r=j+n|0;x=n-j|0;j=d+w|0;n=d-w|0;b[p>>1]=t+r;b[p+16>>1]=j+v;b[p+32>>1]=n+u;b[p+48>>1]=o+x;b[p+64>>1]=x-o;b[p+80>>1]=u-n;b[p+96>>1]=v-j;b[p+112>>1]=r-t;g=g+1|0}while((g|0)!=8);y=0;do{g=a+(y<<1)|0;b[g>>1]=((b[g>>1]|0)+8|0)>>>4;y=y+1|0}while((y|0)!=64);b[i>>1]=0;b[m>>1]=0;b[q>>1]=0;b[s>>1]=0;b[k>>1]=0;b[h>>1]=0;h=c;c=h;b[c>>1]=0;b[c+2>>1]=0>>>16;c=h+4|0;b[c>>1]=0;b[c+2>>1]=0>>>16;l=e;return}function ib(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c;c=0;while(1){g=c<<3;h=b[e+(g<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|1)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+1>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|2)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+2>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|3)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+3>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|4)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+4>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|5)<<1)>>1]|0;h=(i<<16>>16)+128|0;a[f+5>>0]=i<<16>>16>-129?((h|0)>255?-1:h&255):0;h=b[e+((g|6)<<1)>>1]|0;i=(h<<16>>16)+128|0;a[f+6>>0]=h<<16>>16>-129?((i|0)>255?-1:i&255):0;i=b[e+((g|7)<<1)>>1]|0;g=(i<<16>>16)+128|0;a[f+7>>0]=i<<16>>16>-129?((g|0)>255?-1:g&255):0;c=c+1|0;if((c|0)==8)break;else f=f+d|0}return}function jb(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=c;c=e;e=f;f=0;while(1){j=f<<3;k=(((d[e>>0]|0)+(d[c>>0]|0)|0)>>>1)+(b[h+(j<<1)>>1]|0)|0;a[i>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+1>>0]|0)+(d[c+1>>0]|0)|0)>>>1)+(b[h+((j|1)<<1)>>1]|0)|0;a[i+1>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+2>>0]|0)+(d[c+2>>0]|0)|0)>>>1)+(b[h+((j|2)<<1)>>1]|0)|0;a[i+2>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+3>>0]|0)+(d[c+3>>0]|0)|0)>>>1)+(b[h+((j|3)<<1)>>1]|0)|0;a[i+3>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+4>>0]|0)+(d[c+4>>0]|0)|0)>>>1)+(b[h+((j|4)<<1)>>1]|0)|0;a[i+4>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+5>>0]|0)+(d[c+5>>0]|0)|0)>>>1)+(b[h+((j|5)<<1)>>1]|0)|0;a[i+5>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+6>>0]|0)+(d[c+6>>0]|0)|0)>>>1)+(b[h+((j|6)<<1)>>1]|0)|0;a[i+6>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[e+7>>0]|0)+(d[c+7>>0]|0)|0)>>>1)+(b[h+((j|7)<<1)>>1]|0)|0;a[i+7>>0]=(k>>>31)+255&((k|0)<255?k:255);f=f+1|0;if((f|0)==8)break;else{i=i+g|0;c=c+g|0;e=e+g|0}}return}function kb(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c;c=e;e=0;while(1){i=e<<3;j=(d[c>>0]|0)+(b[g+(i<<1)>>1]|0)|0;a[h>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+1>>0]|0)+(b[g+((i|1)<<1)>>1]|0)|0;a[h+1>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+2>>0]|0)+(b[g+((i|2)<<1)>>1]|0)|0;a[h+2>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+3>>0]|0)+(b[g+((i|3)<<1)>>1]|0)|0;a[h+3>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+4>>0]|0)+(b[g+((i|4)<<1)>>1]|0)|0;a[h+4>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+5>>0]|0)+(b[g+((i|5)<<1)>>1]|0)|0;a[h+5>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+6>>0]|0)+(b[g+((i|6)<<1)>>1]|0)|0;a[h+6>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[c+7>>0]|0)+(b[g+((i|7)<<1)>>1]|0)|0;a[h+7>>0]=(j>>>31)+255&((j|0)<255?j:255);e=e+1|0;if((e|0)==8)break;else{h=h+f|0;c=c+f|0}}return}function lb(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b[c>>1]|0;e=b[c+8>>1]|0;f=(e+d<<16>>16)*46341>>16;g=(d-e<<16>>16)*46341>>16;e=b[c+4>>1]|0;d=b[c+12>>1]|0;h=(e*25080>>16)-(d*60547>>16)|0;i=(d*25080>>16)+(e*60547>>16)|0;e=b[c+2>>1]|0;d=b[c+14>>1]|0;j=(e*12785>>16)-(d*64277>>16)|0;k=b[c+10>>1]|0;l=b[c+6>>1]|0;c=(k*54491>>16)-(l*36410>>16)|0;m=(l*54491>>16)+(k*36410>>16)|0;k=(d*12785>>16)+(e*64277>>16)|0;e=c+j|0;d=(j-c<<16>>16)*46341>>16;c=m+k|0;j=(k-m<<16>>16)*46341>>16;m=f+i|0;k=f-i|0;i=g+h|0;f=g-h|0;h=j+d|0;g=j-d|0;b[a>>1]=c+m;b[a+16>>1]=h+i;b[a+32>>1]=g+f;b[a+48>>1]=e+k;b[a+64>>1]=k-e;b[a+80>>1]=f-g;b[a+96>>1]=i-h;b[a+112>>1]=m-c;return}function mb(a,b){a=a|0;b=b|0;var c=0;if((a|0)==0|(b|0)==0){c=-1;return c|0}La(b,a+54056|0);c=0;return c|0}function nb(b){b=b|0;var d=0,e=0;d=b;e=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b>>0]=3;a[b+1>>0]=2;a[b+2>>0]=1;c[b+60>>2]=6;return}function ob(){ua(1960);nb(1976);return}function pb(){return 0}function qb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=l;l=l+32|0;e=d;tb(e,a,b);f=c[489]|0;if(!f)c[e+8>>2]=256;c[489]=f+1;f=Qa(1976,1960,2040,e)|0;if(f|0){g=(f|0)>0&1;l=d;return g|0}c[511]=Aa(1976,c[510]|0)|0;f=c[506]|0;e=c[497]|0;h=c[498]|0;i=c[503]|0;j=c[504]|0;if((i|0)!=0&(j|0)!=0)k=((R(i,e)|0)>>>0)/(j>>>0)|0;else k=e;j=c[495]|0;i=c[496]|0;ea(j|0,i|0,j>>>(f&1^1)|0,i>>>(f>>>1&1^1)|0,0.0,e|0,h|0,c[499]|0,c[500]|0,k|0,h|0);g=rb(a,b)|0;l=d;return g|0}function rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+80|0;e=d;f=d+32|0;tb(e,a,b);if((Xa(c[511]|0,e,0)|0|1|0)!=1){g=0;l=d;return g|0}mb(c[511]|0,f)|0;e=c[506]|0;b=c[495]|0;a=c[496]|0;aa(c[f+12>>2]|0,c[f+8>>2]|0,c[f+28>>2]|0,c[f+24>>2]|0,c[f+44>>2]|0,c[f+40>>2]|0,b|0,a|0,b>>>(e&1^1)|0,a>>>(e>>>1&1^1)|0);g=1;l=d;return g|0}function sb(){var a=0;a=c[511]|0;if(a|0){Ba(a);c[511]=0}va(1960);Ra(1976);return}function tb(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;return}function ub(){return 2048}function vb(){return (wb()|0)+64|0}function wb(){return xb()|0}function xb(){return 552}function yb(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}
function zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;b=l;l=l+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[528]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=2152+(i<<1<<2)|0;k=j+8|0;m=c[k>>2]|0;n=m+8|0;o=c[n>>2]|0;do if((j|0)!=(o|0)){if(o>>>0<(c[532]|0)>>>0)ca();p=o+12|0;if((c[p>>2]|0)==(m|0)){c[p>>2]=j;c[k>>2]=o;break}else ca()}else c[528]=g&~(1<<i);while(0);o=i<<3;c[m+4>>2]=o|3;k=m+o+4|0;c[k>>2]=c[k>>2]|1;q=n;l=b;return q|0}k=c[530]|0;if(e>>>0>k>>>0){if(h|0){o=2<<f;j=h<<f&(o|0-o);o=(j&0-j)+-1|0;j=o>>>12&16;p=o>>>j;o=p>>>5&8;r=p>>>o;p=r>>>2&4;s=r>>>p;r=s>>>1&2;t=s>>>r;s=t>>>1&1;u=(o|j|p|r|s)+(t>>>s)|0;s=2152+(u<<1<<2)|0;t=s+8|0;r=c[t>>2]|0;p=r+8|0;j=c[p>>2]|0;do if((s|0)!=(j|0)){if(j>>>0<(c[532]|0)>>>0)ca();o=j+12|0;if((c[o>>2]|0)==(r|0)){c[o>>2]=s;c[t>>2]=j;v=g;break}else ca()}else{o=g&~(1<<u);c[528]=o;v=o}while(0);j=(u<<3)-e|0;c[r+4>>2]=e|3;t=r+e|0;c[t+4>>2]=j|1;c[t+j>>2]=j;if(k|0){s=c[533]|0;f=k>>>3;h=2152+(f<<1<<2)|0;n=1<<f;if(v&n){f=h+8|0;m=c[f>>2]|0;if(m>>>0<(c[532]|0)>>>0)ca();else{w=f;x=m}}else{c[528]=v|n;w=h+8|0;x=h}c[w>>2]=s;c[x+12>>2]=s;c[s+8>>2]=x;c[s+12>>2]=h}c[530]=j;c[533]=t;q=p;l=b;return q|0}t=c[529]|0;if(t){j=(t&0-t)+-1|0;h=j>>>12&16;s=j>>>h;j=s>>>5&8;n=s>>>j;s=n>>>2&4;m=n>>>s;n=m>>>1&2;f=m>>>n;m=f>>>1&1;i=c[2416+((j|h|s|n|m)+(f>>>m)<<2)>>2]|0;m=(c[i+4>>2]&-8)-e|0;f=c[i+16+(((c[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){y=m;z=i}else{n=f;f=m;m=i;while(1){i=(c[n+4>>2]&-8)-e|0;s=i>>>0<f>>>0;h=s?i:f;i=s?n:m;n=c[n+16+(((c[n+16>>2]|0)==0&1)<<2)>>2]|0;if(!n){y=h;z=i;break}else{f=h;m=i}}}m=c[532]|0;if(z>>>0<m>>>0)ca();f=z+e|0;if(z>>>0>=f>>>0)ca();n=c[z+24>>2]|0;p=c[z+12>>2]|0;do if((p|0)==(z|0)){r=z+20|0;u=c[r>>2]|0;if(!u){i=z+16|0;h=c[i>>2]|0;if(!h){A=0;break}else{B=h;C=i}}else{B=u;C=r}while(1){r=B+20|0;u=c[r>>2]|0;if(u|0){B=u;C=r;continue}r=B+16|0;u=c[r>>2]|0;if(!u)break;else{B=u;C=r}}if(C>>>0<m>>>0)ca();else{c[C>>2]=0;A=B;break}}else{r=c[z+8>>2]|0;if(r>>>0<m>>>0)ca();u=r+12|0;if((c[u>>2]|0)!=(z|0))ca();i=p+8|0;if((c[i>>2]|0)==(z|0)){c[u>>2]=p;c[i>>2]=r;A=p;break}else ca()}while(0);a:do if(n|0){p=c[z+28>>2]|0;m=2416+(p<<2)|0;do if((z|0)==(c[m>>2]|0)){c[m>>2]=A;if(!A){c[529]=t&~(1<<p);break a}}else if(n>>>0>=(c[532]|0)>>>0){c[n+16+(((c[n+16>>2]|0)!=(z|0)&1)<<2)>>2]=A;if(!A)break a;else break}else ca();while(0);p=c[532]|0;if(A>>>0<p>>>0)ca();c[A+24>>2]=n;m=c[z+16>>2]|0;do if(m|0)if(m>>>0<p>>>0)ca();else{c[A+16>>2]=m;c[m+24>>2]=A;break}while(0);m=c[z+20>>2]|0;if(m|0)if(m>>>0<(c[532]|0)>>>0)ca();else{c[A+20>>2]=m;c[m+24>>2]=A;break}}while(0);if(y>>>0<16){n=y+e|0;c[z+4>>2]=n|3;t=z+n+4|0;c[t>>2]=c[t>>2]|1}else{c[z+4>>2]=e|3;c[f+4>>2]=y|1;c[f+y>>2]=y;if(k|0){t=c[533]|0;n=k>>>3;m=2152+(n<<1<<2)|0;p=1<<n;if(g&p){n=m+8|0;r=c[n>>2]|0;if(r>>>0<(c[532]|0)>>>0)ca();else{D=n;E=r}}else{c[528]=g|p;D=m+8|0;E=m}c[D>>2]=t;c[E+12>>2]=t;c[t+8>>2]=E;c[t+12>>2]=m}c[530]=y;c[533]=f}q=z+8|0;l=b;return q|0}else F=e}else F=e}else if(a>>>0<=4294967231){m=a+11|0;t=m&-8;p=c[529]|0;if(p){r=0-t|0;n=m>>>8;if(n)if(t>>>0>16777215)G=31;else{m=(n+1048320|0)>>>16&8;i=n<<m;n=(i+520192|0)>>>16&4;u=i<<n;i=(u+245760|0)>>>16&2;h=14-(n|m|i)+(u<<i>>>15)|0;G=t>>>(h+7|0)&1|h<<1}else G=0;h=c[2416+(G<<2)>>2]|0;b:do if(!h){H=r;I=0;J=0;K=81}else{i=r;u=0;m=t<<((G|0)==31?0:25-(G>>>1)|0);n=h;s=0;while(1){j=(c[n+4>>2]&-8)-t|0;if(j>>>0<i>>>0)if(!j){L=0;M=n;N=n;K=85;break b}else{O=j;P=n}else{O=i;P=s}j=c[n+20>>2]|0;n=c[n+16+(m>>>31<<2)>>2]|0;o=(j|0)==0|(j|0)==(n|0)?u:j;j=(n|0)==0;if(j){H=O;I=o;J=P;K=81;break}else{i=O;u=o;m=m<<((j^1)&1);s=P}}}while(0);if((K|0)==81){if((I|0)==0&(J|0)==0){h=2<<G;r=p&(h|0-h);if(!r){F=t;break}h=(r&0-r)+-1|0;r=h>>>12&16;e=h>>>r;h=e>>>5&8;f=e>>>h;e=f>>>2&4;g=f>>>e;f=g>>>1&2;k=g>>>f;g=k>>>1&1;Q=c[2416+((h|r|e|f|g)+(k>>>g)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=85}}if((K|0)==85)while(1){K=0;g=(c[M+4>>2]&-8)-t|0;k=g>>>0<L>>>0;f=k?g:L;g=k?M:N;M=c[M+16+(((c[M+16>>2]|0)==0&1)<<2)>>2]|0;if(!M){S=f;T=g;break}else{L=f;N=g;K=85}}if((T|0)!=0?S>>>0<((c[530]|0)-t|0)>>>0:0){g=c[532]|0;if(T>>>0<g>>>0)ca();f=T+t|0;if(T>>>0>=f>>>0)ca();k=c[T+24>>2]|0;e=c[T+12>>2]|0;do if((e|0)==(T|0)){r=T+20|0;h=c[r>>2]|0;if(!h){s=T+16|0;m=c[s>>2]|0;if(!m){U=0;break}else{V=m;W=s}}else{V=h;W=r}while(1){r=V+20|0;h=c[r>>2]|0;if(h|0){V=h;W=r;continue}r=V+16|0;h=c[r>>2]|0;if(!h)break;else{V=h;W=r}}if(W>>>0<g>>>0)ca();else{c[W>>2]=0;U=V;break}}else{r=c[T+8>>2]|0;if(r>>>0<g>>>0)ca();h=r+12|0;if((c[h>>2]|0)!=(T|0))ca();s=e+8|0;if((c[s>>2]|0)==(T|0)){c[h>>2]=e;c[s>>2]=r;U=e;break}else ca()}while(0);c:do if(k){e=c[T+28>>2]|0;g=2416+(e<<2)|0;do if((T|0)==(c[g>>2]|0)){c[g>>2]=U;if(!U){r=p&~(1<<e);c[529]=r;X=r;break c}}else if(k>>>0>=(c[532]|0)>>>0){c[k+16+(((c[k+16>>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=p;break c}else break}else ca();while(0);e=c[532]|0;if(U>>>0<e>>>0)ca();c[U+24>>2]=k;g=c[T+16>>2]|0;do if(g|0)if(g>>>0<e>>>0)ca();else{c[U+16>>2]=g;c[g+24>>2]=U;break}while(0);g=c[T+20>>2]|0;if(g)if(g>>>0<(c[532]|0)>>>0)ca();else{c[U+20>>2]=g;c[g+24>>2]=U;X=p;break}else X=p}else X=p;while(0);do if(S>>>0>=16){c[T+4>>2]=t|3;c[f+4>>2]=S|1;c[f+S>>2]=S;p=S>>>3;if(S>>>0<256){k=2152+(p<<1<<2)|0;g=c[528]|0;e=1<<p;if(g&e){p=k+8|0;r=c[p>>2]|0;if(r>>>0<(c[532]|0)>>>0)ca();else{Y=p;Z=r}}else{c[528]=g|e;Y=k+8|0;Z=k}c[Y>>2]=f;c[Z+12>>2]=f;c[f+8>>2]=Z;c[f+12>>2]=k;break}k=S>>>8;if(k)if(S>>>0>16777215)_=31;else{e=(k+1048320|0)>>>16&8;g=k<<e;k=(g+520192|0)>>>16&4;r=g<<k;g=(r+245760|0)>>>16&2;p=14-(k|e|g)+(r<<g>>>15)|0;_=S>>>(p+7|0)&1|p<<1}else _=0;p=2416+(_<<2)|0;c[f+28>>2]=_;g=f+16|0;c[g+4>>2]=0;c[g>>2]=0;g=1<<_;if(!(X&g)){c[529]=X|g;c[p>>2]=f;c[f+24>>2]=p;c[f+12>>2]=f;c[f+8>>2]=f;break}g=S<<((_|0)==31?0:25-(_>>>1)|0);r=c[p>>2]|0;while(1){if((c[r+4>>2]&-8|0)==(S|0)){K=139;break}$=r+16+(g>>>31<<2)|0;p=c[$>>2]|0;if(!p){K=136;break}else{g=g<<1;r=p}}if((K|0)==136)if($>>>0<(c[532]|0)>>>0)ca();else{c[$>>2]=f;c[f+24>>2]=r;c[f+12>>2]=f;c[f+8>>2]=f;break}else if((K|0)==139){g=r+8|0;p=c[g>>2]|0;e=c[532]|0;if(p>>>0>=e>>>0&r>>>0>=e>>>0){c[p+12>>2]=f;c[g>>2]=f;c[f+8>>2]=p;c[f+12>>2]=r;c[f+24>>2]=0;break}else ca()}}else{p=S+t|0;c[T+4>>2]=p|3;g=T+p+4|0;c[g>>2]=c[g>>2]|1}while(0);q=T+8|0;l=b;return q|0}else F=t}else F=t}else F=-1;while(0);T=c[530]|0;if(T>>>0>=F>>>0){S=T-F|0;$=c[533]|0;if(S>>>0>15){_=$+F|0;c[533]=_;c[530]=S;c[_+4>>2]=S|1;c[_+S>>2]=S;c[$+4>>2]=F|3}else{c[530]=0;c[533]=0;c[$+4>>2]=T|3;S=$+T+4|0;c[S>>2]=c[S>>2]|1}q=$+8|0;l=b;return q|0}$=c[531]|0;if($>>>0>F>>>0){S=$-F|0;c[531]=S;T=c[534]|0;_=T+F|0;c[534]=_;c[_+4>>2]=S|1;c[T+4>>2]=F|3;q=T+8|0;l=b;return q|0}if(!(c[646]|0)){c[648]=4096;c[647]=4096;c[649]=-1;c[650]=-1;c[651]=0;c[639]=0;T=d&-16^1431655768;c[d>>2]=T;c[646]=T;aa=4096}else aa=c[648]|0;T=F+48|0;d=F+47|0;S=aa+d|0;_=0-aa|0;aa=S&_;if(aa>>>0<=F>>>0){q=0;l=b;return q|0}X=c[638]|0;if(X|0?(Z=c[636]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){q=0;l=b;return q|0}d:do if(!(c[639]&4)){X=c[534]|0;e:do if(X){Y=2560;while(1){Z=c[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(c[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=c[Y+8>>2]|0;if(!Z){K=163;break e}else Y=Z}r=S-$&_;if(r>>>0<2147483647){Z=Eb(r|0)|0;if((Z|0)==((c[Y>>2]|0)+(c[ba>>2]|0)|0))if((Z|0)==(-1|0))da=r;else{ea=Z;fa=r;K=180;break d}else{ga=Z;ha=r;K=171}}else da=0}else K=163;while(0);do if((K|0)==163){X=Eb(0)|0;if((X|0)!=(-1|0)?(t=X,r=c[647]|0,Z=r+-1|0,U=((Z&t|0)==0?0:(Z+t&0-r)-t|0)+aa|0,t=c[636]|0,r=U+t|0,U>>>0>F>>>0&U>>>0<2147483647):0){Z=c[638]|0;if(Z|0?r>>>0<=t>>>0|r>>>0>Z>>>0:0){da=0;break}Z=Eb(U|0)|0;if((Z|0)==(X|0)){ea=X;fa=U;K=180;break d}else{ga=Z;ha=U;K=171}}else da=0}while(0);do if((K|0)==171){U=0-ha|0;if(!(T>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))))if((ga|0)==(-1|0)){da=0;break}else{ea=ga;fa=ha;K=180;break d}Z=c[648]|0;X=d-ha+Z&0-Z;if(X>>>0>=2147483647){ea=ga;fa=ha;K=180;break d}if((Eb(X|0)|0)==(-1|0)){Eb(U|0)|0;da=0;break}else{ea=ga;fa=X+ha|0;K=180;break d}}while(0);c[639]=c[639]|4;ia=da;K=178}else{ia=0;K=178}while(0);if(((K|0)==178?aa>>>0<2147483647:0)?(da=Eb(aa|0)|0,aa=Eb(0)|0,ha=aa-da|0,ga=ha>>>0>(F+40|0)>>>0,!((da|0)==(-1|0)|ga^1|da>>>0<aa>>>0&((da|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){ea=da;fa=ga?ha:ia;K=180}if((K|0)==180){ia=(c[636]|0)+fa|0;c[636]=ia;if(ia>>>0>(c[637]|0)>>>0)c[637]=ia;ia=c[534]|0;do if(ia){ha=2560;while(1){ja=c[ha>>2]|0;ka=ha+4|0;la=c[ka>>2]|0;if((ea|0)==(ja+la|0)){K=190;break}ga=c[ha+8>>2]|0;if(!ga)break;else ha=ga}if(((K|0)==190?(c[ha+12>>2]&8|0)==0:0)?ia>>>0<ea>>>0&ia>>>0>=ja>>>0:0){c[ka>>2]=la+fa;ga=ia+8|0;da=(ga&7|0)==0?0:0-ga&7;ga=ia+da|0;aa=(c[531]|0)+(fa-da)|0;c[534]=ga;c[531]=aa;c[ga+4>>2]=aa|1;c[ga+aa+4>>2]=40;c[535]=c[650];break}aa=c[532]|0;if(ea>>>0<aa>>>0){c[532]=ea;ma=ea}else ma=aa;aa=ea+fa|0;ga=2560;while(1){if((c[ga>>2]|0)==(aa|0)){K=198;break}da=c[ga+8>>2]|0;if(!da)break;else ga=da}if((K|0)==198?(c[ga+12>>2]&8|0)==0:0){c[ga>>2]=ea;ha=ga+4|0;c[ha>>2]=(c[ha>>2]|0)+fa;ha=ea+8|0;da=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=aa+8|0;d=aa+((ha&7|0)==0?0:0-ha&7)|0;ha=da+F|0;T=d-da-F|0;c[da+4>>2]=F|3;do if((d|0)!=(ia|0)){if((d|0)==(c[533]|0)){ba=(c[530]|0)+T|0;c[530]=ba;c[533]=ha;c[ha+4>>2]=ba|1;c[ha+ba>>2]=ba;break}ba=c[d+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;f:do if(ba>>>0>=256){S=c[d+24>>2]|0;X=c[d+12>>2]|0;do if((X|0)==(d|0)){U=d+16|0;Z=U+4|0;r=c[Z>>2]|0;if(!r){t=c[U>>2]|0;if(!t){na=0;break}else{oa=t;pa=U}}else{oa=r;pa=Z}while(1){Z=oa+20|0;r=c[Z>>2]|0;if(r|0){oa=r;pa=Z;continue}Z=oa+16|0;r=c[Z>>2]|0;if(!r)break;else{oa=r;pa=Z}}if(pa>>>0<ma>>>0)ca();else{c[pa>>2]=0;na=oa;break}}else{Z=c[d+8>>2]|0;if(Z>>>0<ma>>>0)ca();r=Z+12|0;if((c[r>>2]|0)!=(d|0))ca();U=X+8|0;if((c[U>>2]|0)==(d|0)){c[r>>2]=X;c[U>>2]=Z;na=X;break}else ca()}while(0);if(!S)break;X=c[d+28>>2]|0;Z=2416+(X<<2)|0;do if((d|0)!=(c[Z>>2]|0))if(S>>>0>=(c[532]|0)>>>0){c[S+16+(((c[S+16>>2]|0)!=(d|0)&1)<<2)>>2]=na;if(!na)break f;else break}else ca();else{c[Z>>2]=na;if(na|0)break;c[529]=c[529]&~(1<<X);break f}while(0);X=c[532]|0;if(na>>>0<X>>>0)ca();c[na+24>>2]=S;Z=d+16|0;U=c[Z>>2]|0;do if(U|0)if(U>>>0<X>>>0)ca();else{c[na+16>>2]=U;c[U+24>>2]=na;break}while(0);U=c[Z+4>>2]|0;if(!U)break;if(U>>>0<(c[532]|0)>>>0)ca();else{c[na+20>>2]=U;c[U+24>>2]=na;break}}else{U=c[d+8>>2]|0;X=c[d+12>>2]|0;S=2152+($<<1<<2)|0;do if((U|0)!=(S|0)){if(U>>>0<ma>>>0)ca();if((c[U+12>>2]|0)==(d|0))break;ca()}while(0);if((X|0)==(U|0)){c[528]=c[528]&~(1<<$);break}do if((X|0)==(S|0))qa=X+8|0;else{if(X>>>0<ma>>>0)ca();Z=X+8|0;if((c[Z>>2]|0)==(d|0)){qa=Z;break}ca()}while(0);c[U+12>>2]=X;c[qa>>2]=U}while(0);ra=d+_|0;sa=_+T|0}else{ra=d;sa=T}$=ra+4|0;c[$>>2]=c[$>>2]&-2;c[ha+4>>2]=sa|1;c[ha+sa>>2]=sa;$=sa>>>3;if(sa>>>0<256){ba=2152+($<<1<<2)|0;Y=c[528]|0;S=1<<$;do if(!(Y&S)){c[528]=Y|S;ta=ba+8|0;ua=ba}else{$=ba+8|0;Z=c[$>>2]|0;if(Z>>>0>=(c[532]|0)>>>0){ta=$;ua=Z;break}ca()}while(0);c[ta>>2]=ha;c[ua+12>>2]=ha;c[ha+8>>2]=ua;c[ha+12>>2]=ba;break}S=sa>>>8;do if(!S)va=0;else{if(sa>>>0>16777215){va=31;break}Y=(S+1048320|0)>>>16&8;_=S<<Y;Z=(_+520192|0)>>>16&4;$=_<<Z;_=($+245760|0)>>>16&2;r=14-(Z|Y|_)+($<<_>>>15)|0;va=sa>>>(r+7|0)&1|r<<1}while(0);S=2416+(va<<2)|0;c[ha+28>>2]=va;ba=ha+16|0;c[ba+4>>2]=0;c[ba>>2]=0;ba=c[529]|0;r=1<<va;if(!(ba&r)){c[529]=ba|r;c[S>>2]=ha;c[ha+24>>2]=S;c[ha+12>>2]=ha;c[ha+8>>2]=ha;break}r=sa<<((va|0)==31?0:25-(va>>>1)|0);ba=c[S>>2]|0;while(1){if((c[ba+4>>2]&-8|0)==(sa|0)){K=265;break}wa=ba+16+(r>>>31<<2)|0;S=c[wa>>2]|0;if(!S){K=262;break}else{r=r<<1;ba=S}}if((K|0)==262)if(wa>>>0<(c[532]|0)>>>0)ca();else{c[wa>>2]=ha;c[ha+24>>2]=ba;c[ha+12>>2]=ha;c[ha+8>>2]=ha;break}else if((K|0)==265){r=ba+8|0;S=c[r>>2]|0;_=c[532]|0;if(S>>>0>=_>>>0&ba>>>0>=_>>>0){c[S+12>>2]=ha;c[r>>2]=ha;c[ha+8>>2]=S;c[ha+12>>2]=ba;c[ha+24>>2]=0;break}else ca()}}else{S=(c[531]|0)+T|0;c[531]=S;c[534]=ha;c[ha+4>>2]=S|1}while(0);q=da+8|0;l=b;return q|0}ha=2560;while(1){T=c[ha>>2]|0;if(T>>>0<=ia>>>0?(xa=T+(c[ha+4>>2]|0)|0,xa>>>0>ia>>>0):0)break;ha=c[ha+8>>2]|0}ha=xa+-47|0;da=ha+8|0;T=ha+((da&7|0)==0?0:0-da&7)|0;da=ia+16|0;ha=T>>>0<da>>>0?ia:T;T=ha+8|0;d=ea+8|0;aa=(d&7|0)==0?0:0-d&7;d=ea+aa|0;ga=fa+-40-aa|0;c[534]=d;c[531]=ga;c[d+4>>2]=ga|1;c[d+ga+4>>2]=40;c[535]=c[650];ga=ha+4|0;c[ga>>2]=27;c[T>>2]=c[640];c[T+4>>2]=c[641];c[T+8>>2]=c[642];c[T+12>>2]=c[643];c[640]=ea;c[641]=fa;c[643]=0;c[642]=T;T=ha+24|0;do{d=T;T=T+4|0;c[T>>2]=7}while((d+8|0)>>>0<xa>>>0);if((ha|0)!=(ia|0)){T=ha-ia|0;c[ga>>2]=c[ga>>2]&-2;c[ia+4>>2]=T|1;c[ha>>2]=T;d=T>>>3;if(T>>>0<256){aa=2152+(d<<1<<2)|0;S=c[528]|0;r=1<<d;if(S&r){d=aa+8|0;_=c[d>>2]|0;if(_>>>0<(c[532]|0)>>>0)ca();else{ya=d;za=_}}else{c[528]=S|r;ya=aa+8|0;za=aa}c[ya>>2]=ia;c[za+12>>2]=ia;c[ia+8>>2]=za;c[ia+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)Aa=31;else{r=(aa+1048320|0)>>>16&8;S=aa<<r;aa=(S+520192|0)>>>16&4;_=S<<aa;S=(_+245760|0)>>>16&2;d=14-(aa|r|S)+(_<<S>>>15)|0;Aa=T>>>(d+7|0)&1|d<<1}else Aa=0;d=2416+(Aa<<2)|0;c[ia+28>>2]=Aa;c[ia+20>>2]=0;c[da>>2]=0;S=c[529]|0;_=1<<Aa;if(!(S&_)){c[529]=S|_;c[d>>2]=ia;c[ia+24>>2]=d;c[ia+12>>2]=ia;c[ia+8>>2]=ia;break}_=T<<((Aa|0)==31?0:25-(Aa>>>1)|0);S=c[d>>2]|0;while(1){if((c[S+4>>2]&-8|0)==(T|0)){K=292;break}Ba=S+16+(_>>>31<<2)|0;d=c[Ba>>2]|0;if(!d){K=289;break}else{_=_<<1;S=d}}if((K|0)==289)if(Ba>>>0<(c[532]|0)>>>0)ca();else{c[Ba>>2]=ia;c[ia+24>>2]=S;c[ia+12>>2]=ia;c[ia+8>>2]=ia;break}else if((K|0)==292){_=S+8|0;T=c[_>>2]|0;da=c[532]|0;if(T>>>0>=da>>>0&S>>>0>=da>>>0){c[T+12>>2]=ia;c[_>>2]=ia;c[ia+8>>2]=T;c[ia+12>>2]=S;c[ia+24>>2]=0;break}else ca()}}}else{T=c[532]|0;if((T|0)==0|ea>>>0<T>>>0)c[532]=ea;c[640]=ea;c[641]=fa;c[643]=0;c[537]=c[646];c[536]=-1;T=0;do{_=2152+(T<<1<<2)|0;c[_+12>>2]=_;c[_+8>>2]=_;T=T+1|0}while((T|0)!=32);T=ea+8|0;S=(T&7|0)==0?0:0-T&7;T=ea+S|0;_=fa+-40-S|0;c[534]=T;c[531]=_;c[T+4>>2]=_|1;c[T+_+4>>2]=40;c[535]=c[650]}while(0);fa=c[531]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[531]=ea;fa=c[534]|0;ia=fa+F|0;c[534]=ia;c[ia+4>>2]=ea|1;c[fa+4>>2]=F|3;q=fa+8|0;l=b;return q|0}}c[(vb()|0)>>2]=12;q=0;l=b;return q|0}function Ab(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;if(!a)return;b=a+-8|0;d=c[532]|0;if(b>>>0<d>>>0)ca();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)ca();f=e&-8;g=b+f|0;a:do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)ca();if((i|0)==(c[533]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=i;o=j;break}c[530]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;p=2152+(l<<1<<2)|0;if((h|0)!=(p|0)){if(h>>>0<d>>>0)ca();if((c[h+12>>2]|0)!=(i|0))ca()}if((k|0)==(h|0)){c[528]=c[528]&~(1<<l);m=i;n=i;o=j;break}if((k|0)!=(p|0)){if(k>>>0<d>>>0)ca();p=k+8|0;if((c[p>>2]|0)==(i|0))q=p;else ca()}else q=k+8|0;c[h+12>>2]=k;c[q>>2]=h;m=i;n=i;o=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){p=i+16|0;l=p+4|0;r=c[l>>2]|0;if(!r){s=c[p>>2]|0;if(!s){t=0;break}else{u=s;v=p}}else{u=r;v=l}while(1){l=u+20|0;r=c[l>>2]|0;if(r|0){u=r;v=l;continue}l=u+16|0;r=c[l>>2]|0;if(!r)break;else{u=r;v=l}}if(v>>>0<d>>>0)ca();else{c[v>>2]=0;t=u;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)ca();r=l+12|0;if((c[r>>2]|0)!=(i|0))ca();p=k+8|0;if((c[p>>2]|0)==(i|0)){c[r>>2]=k;c[p>>2]=l;t=k;break}else ca()}while(0);if(h){k=c[i+28>>2]|0;l=2416+(k<<2)|0;do if((i|0)==(c[l>>2]|0)){c[l>>2]=t;if(!t){c[529]=c[529]&~(1<<k);m=i;n=i;o=j;break a}}else if(h>>>0>=(c[532]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=t;if(!t){m=i;n=i;o=j;break a}else break}else ca();while(0);k=c[532]|0;if(t>>>0<k>>>0)ca();c[t+24>>2]=h;l=i+16|0;p=c[l>>2]|0;do if(p|0)if(p>>>0<k>>>0)ca();else{c[t+16>>2]=p;c[p+24>>2]=t;break}while(0);p=c[l+4>>2]|0;if(p)if(p>>>0<(c[532]|0)>>>0)ca();else{c[t+20>>2]=p;c[p+24>>2]=t;m=i;n=i;o=j;break}else{m=i;n=i;o=j}}else{m=i;n=i;o=j}}else{m=b;n=b;o=f}while(0);if(m>>>0>=g>>>0)ca();f=g+4|0;b=c[f>>2]|0;if(!(b&1))ca();if(!(b&2)){t=c[533]|0;if((g|0)==(c[534]|0)){d=(c[531]|0)+o|0;c[531]=d;c[534]=n;c[n+4>>2]=d|1;if((n|0)!=(t|0))return;c[533]=0;c[530]=0;return}if((g|0)==(t|0)){t=(c[530]|0)+o|0;c[530]=t;c[533]=m;c[n+4>>2]=t|1;c[m+t>>2]=t;return}t=(b&-8)+o|0;d=b>>>3;b:do if(b>>>0>=256){u=c[g+24>>2]|0;v=c[g+12>>2]|0;do if((v|0)==(g|0)){q=g+16|0;a=q+4|0;e=c[a>>2]|0;if(!e){p=c[q>>2]|0;if(!p){w=0;break}else{x=p;y=q}}else{x=e;y=a}while(1){a=x+20|0;e=c[a>>2]|0;if(e|0){x=e;y=a;continue}a=x+16|0;e=c[a>>2]|0;if(!e)break;else{x=e;y=a}}if(y>>>0<(c[532]|0)>>>0)ca();else{c[y>>2]=0;w=x;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[532]|0)>>>0)ca();e=a+12|0;if((c[e>>2]|0)!=(g|0))ca();q=v+8|0;if((c[q>>2]|0)==(g|0)){c[e>>2]=v;c[q>>2]=a;w=v;break}else ca()}while(0);if(u|0){v=c[g+28>>2]|0;j=2416+(v<<2)|0;do if((g|0)==(c[j>>2]|0)){c[j>>2]=w;if(!w){c[529]=c[529]&~(1<<v);break b}}else if(u>>>0>=(c[532]|0)>>>0){c[u+16+(((c[u+16>>2]|0)!=(g|0)&1)<<2)>>2]=w;if(!w)break b;else break}else ca();while(0);v=c[532]|0;if(w>>>0<v>>>0)ca();c[w+24>>2]=u;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<v>>>0)ca();else{c[w+16>>2]=i;c[i+24>>2]=w;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[532]|0)>>>0)ca();else{c[w+20>>2]=i;c[i+24>>2]=w;break}}}else{i=c[g+8>>2]|0;v=c[g+12>>2]|0;u=2152+(d<<1<<2)|0;if((i|0)!=(u|0)){if(i>>>0<(c[532]|0)>>>0)ca();if((c[i+12>>2]|0)!=(g|0))ca()}if((v|0)==(i|0)){c[528]=c[528]&~(1<<d);break}if((v|0)!=(u|0)){if(v>>>0<(c[532]|0)>>>0)ca();u=v+8|0;if((c[u>>2]|0)==(g|0))z=u;else ca()}else z=v+8|0;c[i+12>>2]=v;c[z>>2]=i}while(0);c[n+4>>2]=t|1;c[m+t>>2]=t;if((n|0)==(c[533]|0)){c[530]=t;return}else A=t}else{c[f>>2]=b&-2;c[n+4>>2]=o|1;c[m+o>>2]=o;A=o}o=A>>>3;if(A>>>0<256){m=2152+(o<<1<<2)|0;b=c[528]|0;f=1<<o;if(b&f){o=m+8|0;t=c[o>>2]|0;if(t>>>0<(c[532]|0)>>>0)ca();else{B=o;C=t}}else{c[528]=b|f;B=m+8|0;C=m}c[B>>2]=n;c[C+12>>2]=n;c[n+8>>2]=C;c[n+12>>2]=m;return}m=A>>>8;if(m)if(A>>>0>16777215)D=31;else{C=(m+1048320|0)>>>16&8;B=m<<C;m=(B+520192|0)>>>16&4;f=B<<m;B=(f+245760|0)>>>16&2;b=14-(m|C|B)+(f<<B>>>15)|0;D=A>>>(b+7|0)&1|b<<1}else D=0;b=2416+(D<<2)|0;c[n+28>>2]=D;c[n+20>>2]=0;c[n+16>>2]=0;B=c[529]|0;f=1<<D;do if(B&f){C=A<<((D|0)==31?0:25-(D>>>1)|0);m=c[b>>2]|0;while(1){if((c[m+4>>2]&-8|0)==(A|0)){E=124;break}F=m+16+(C>>>31<<2)|0;t=c[F>>2]|0;if(!t){E=121;break}else{C=C<<1;m=t}}if((E|0)==121)if(F>>>0<(c[532]|0)>>>0)ca();else{c[F>>2]=n;c[n+24>>2]=m;c[n+12>>2]=n;c[n+8>>2]=n;break}else if((E|0)==124){C=m+8|0;j=c[C>>2]|0;t=c[532]|0;if(j>>>0>=t>>>0&m>>>0>=t>>>0){c[j+12>>2]=n;c[C>>2]=n;c[n+8>>2]=j;c[n+12>>2]=m;c[n+24>>2]=0;break}else ca()}}else{c[529]=B|f;c[b>>2]=n;c[n+24>>2]=b;c[n+12>>2]=n;c[n+8>>2]=n}while(0);n=(c[536]|0)+-1|0;c[536]=n;if(!n)G=2568;else return;while(1){n=c[G>>2]|0;if(!n)break;else G=n+8|0}c[536]=-1;return}function Bb(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=R(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=zb(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Gb(d|0,0,e|0)|0;return d|0}function Cb(){}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function Eb(a){a=a|0;var b=0,d=0;a=a+15&-16|0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Z()|0;ba(12);return -1}c[i>>2]=d;if((d|0)>(Y()|0)?(X()|0)==0:0){ba(12);c[i>>2]=b;return -1}return b|0}function Fb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Gb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=g-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(h|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Hb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return da(b|0,d|0,e|0)|0;f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;ga[a&7](b|0,c|0)}function Kb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha[a&7](b|0,c|0,d|0,e|0)}function Lb(a,b){a=a|0;b=b|0;V(0)}function Mb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;V(1)}

// EMSCRIPTEN_END_FUNCS
var ga=[Lb,pa,qa,ra,sa,Lb,Lb,Lb];var ha=[Mb,Ma,Na,Oa,Pa,Mb,Mb,Mb];return{_ogv_video_decoder_destroy:sb,getTempRet0:oa,setThrew:ma,_ogv_video_decoder_process_frame:rb,_i64Subtract:Db,_bitshift64Shl:Ib,_ogv_video_decoder_process_header:qb,_memset:Gb,_sbrk:Eb,_memcpy:Hb,stackAlloc:ia,_ogv_video_decoder_init:ob,setTempRet0:na,_i64Add:Fb,_ogv_video_decoder_async:pb,_emscripten_get_global_libc:ub,stackSave:ja,_free:Ab,runPostSets:Cb,establishStackSpace:la,stackRestore:ka,_malloc:zb,stackAlloc:ia,stackSave:ja,stackRestore:ka,establishStackSpace:la,setThrew:ma,setTempRet0:na,getTempRet0:oa,dynCall_vii:Jb,dynCall_viiii:Kb}})


// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _ogv_video_decoder_destroy=Module["_ogv_video_decoder_destroy"]=asm["_ogv_video_decoder_destroy"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _ogv_video_decoder_process_frame=Module["_ogv_video_decoder_process_frame"]=asm["_ogv_video_decoder_process_frame"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _ogv_video_decoder_process_header=Module["_ogv_video_decoder_process_header"]=asm["_ogv_video_decoder_process_header"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _ogv_video_decoder_init=Module["_ogv_video_decoder_init"]=asm["_ogv_video_decoder_init"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _ogv_video_decoder_async=Module["_ogv_video_decoder_async"]=asm["_ogv_video_decoder_async"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var stackSave=Module["stackSave"]=asm["stackSave"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _malloc=Module["_malloc"]=asm["_malloc"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();var inputBuffer,inputBufferSize;function reallocInputBuffer(size){if(inputBuffer&&inputBufferSize>=size){return inputBuffer}if(inputBuffer){Module._free(inputBuffer)}inputBufferSize=size;inputBuffer=Module._malloc(inputBufferSize);return inputBuffer}var getTimestamp;if(typeof performance==="undefined"||typeof performance.now==="undefined"){getTimestamp=Date.now}else{getTimestamp=performance.now.bind(performance)}function time(func){var start=getTimestamp(),ret;ret=func();Module.cpuTime+=getTimestamp()-start;return ret}function copyByteArray(bytes){var heap=bytes.buffer;if(heap instanceof ArrayBuffer&&typeof heap.slice==="function"){var extract=heap.slice(bytes.byteOffset,bytes.byteOffset+bytes.byteLength);return new Uint8Array(extract)}else{return new Uint8Array(bytes)}}Module.loadedMetadata=!!options.videoFormat;Module.videoFormat=options.videoFormat||null;Module.frameBuffer=null;Module.cpuTime=0;Object.defineProperty(Module,"processing",{get:function getProcessing(){return false}});Module.init=(function(callback){function finish(){time((function(){Module._ogv_video_decoder_init()}));callback()}if(Module.wasmBinary){Module.onRuntimeInitialized=(function(){finish()})}else{finish()}});Module.processHeader=(function(data,callback){var ret=time((function(){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);return Module._ogv_video_decoder_process_header(buffer,len)}));callback(ret)});Module.callbacks=[];Module.processFrame=(function(data,callback){var isAsync=Module._ogv_video_decoder_async();var len=data.byteLength;var buffer=Module._malloc(len);function callbackWrapper(ret){Module._free(buffer);callback(ret)}if(isAsync){Module.callbacks.push(callbackWrapper)}var ret=time((function(){Module.HEAPU8.set(new Uint8Array(data),buffer);return Module._ogv_video_decoder_process_frame(buffer,len)}));if(!isAsync){callbackWrapper(ret)}});Module.close=(function(){});Math.imul=Math_imul_orig





  return OGVDecoderVideoTheora;
};
})();
